#******************************************* # MacVersion = 1.7 # MacDescription = Delete problem HTML tags and split long cache description # MacAuthor = Evzen Supler (suplere) # MacFileName = DeleteTags.gsk # MacUrl = #******************************************* #Version: #v.1.0 - uvodni release #v.1.1 - oprava chyby pri rozdelovani listingu (rozpuleni znacky < a >) #v.1.2 - oprava nezobrazeni prefixu u nerozdelenych kesi #v.1.3 - pridana moznost smazani puvodniho vstupniho GPX #v.1.4 - uprava formulare pro ypetnou kompatibilitu #v.1.5 - zprovozneni volby Rozdel listing #v.1.6 - upraveni bugu u rozdeleni znaku s diakritikou #******************************************* VERCHECK Version=7.5.2.10 (please update GSAK to the latest version (free) to run this macro - see http://gsak.net) #Nacti setting $DatFile = sysinfo("macropath") + "\" +"DeleteTags.xml" IF FileExists($DatFile) MacSettings Type=R File=$DatFile FileCheck=N ELSE $DelCas = "7900" $RozdelListing = True $InputFile = "D:\kese.gpx" $OutputFile = "D:\kese_upr.gpx" $PouzijPrefix = True $OdstranSpan = True $OdsranTable = True $OdstranDiv = True $OdstranFont = True $OdstranA = True $OdstranImg = True $OdstranMarquee = True $chbSmazOrig = False MacSettings Type=S Vars=DelCas,RozdelListing,InputFile,OutputFile,PouzijPrefix,OdstranSpan,OdsranTable,OdstranDiv,OdstranFont,OdstranA,OdstranImg,OdstranMarquee,chbSmazOrig File=$DatFile ENDIF #Zobraz formular While True $FormExit = form($form,"") BeginCase Case $FormExit = "DelayExit" Break Case $FormExit = "SystemExit" Cancel Case $FormExit = "btnCancel" Cancel Case $FormExit = "btnOk" Break EndCase EndWhile #Uloz setting MacSettings Type=S Vars=DelCas,RozdelListing,InputFile,OutputFile,PouzijPrefix,OdstranSpan,OdsranTable,OdstranDiv,OdstranFont,OdstranA,OdstranImg,OdstranMarquee,chbSmazOrig File=$DatFile $Memo1 = "" $DelkaCasti = Val($DelCas) SET $Data = GetFile($InputFile) IF Left($Data,7) = "*Error*" Pause Msg="$Data" Cancel ENDIF $regex = "(?s)" $PocetWayp = RegExCount($regex,$data) $AktualniW = 1 WHILE $AktualniW <= $PocetWayp SHOWSTATUS Msg="Zpracovávám keš :$AktualniW z $PocetWayp" #DEBUG Status=ON $W = RegexData($RegExWayp,$data,$AktualniW) IF RegExCount("Geocache",$W)>0 $RegEx="(?s)", $PopisKese, "") $PopisKese = Replace("","",$PopisKese) $RegEx="(?s).*?" $PatickaKese = RegexData($RegEx,$W,1) $PatickaKese = Replace("","",$PatickaKese) $RegEx="(?s).*?" $JmenoKese = RegexData($RegEx,$HlavickaKese,1) $JmenoKese = Replace("","",$JmenoKese) $JmenoKese = Replace("","",$JmenoKese) $RegEx="(?s).*?" $Name = RegexData($RegEx,$HlavickaKese,1) $Name = Replace("GC","",$Name) $Name = Replace("","",$Name) $RegEx="(?s) 1 $NoveJmenoKese = "" IF $PouzijPrefix $NoveJmenoKese = $NoveJmenoKese + $PrefixKese ENDIF $Popis1=Left($PopisKese, $DelkaCasti) $RegEx="[^0-9a-zA-z&;.ácdéeínórštúuýžÁCDÉEÍNÓRŠTUÚÝŽ ]" $Test = Right($Popis1, 3) $II=1 WHILE (RegExCount($RegEx, $Test)>0) and ($Cast<>$PocetCasti) $Popis1=Left($PopisKese, $DelkaCasti+$II) $Test = Right($Popis1, 3) $II = $II +1 # DEBUG Status=On ENDWHILE $PopisKese = Replace($Popis1,"",$PopisKese) # IF # $DelkaPopis1 = Len($Popis1) # $Test = Left($Popis1, $DelkaPopis1-1) # $Popis1 = $Test # $DelkaPopis1 = Len($PopisKese) # $Test = Right($PopisKese,$DelkaPopis1-2) # $PopisKese = " "+$Test # # ENDIF IF $Cast > 1 $Popis1 = " ....pokracovani" + $Popis1 $Memo1 = $Memo1 +"GC"+ $Name + ": " IF $PouzijPrefix $Memo1 = $Memo1 + $PrefixKese ENDIF $Memo1 = $Memo1 + "$Cast"+"-" + $JmenoKese+$_NewLine IF $Cast<$PocetCasti $Popis1 = $Popis1 + " ....pokracovani" $Popis1 = Replace("& ....pokracovani","....pokracovani", $Popis1) $Popis1 = Replace("< ","<", $Popis1) $Popis1 = Replace("&l ","<", $Popis1) $Popis1 = Replace("&a ","&", $Popis1) $Popis1 = Replace("&am ","&", $Popis1) $Popis1 = Replace("& ","&", $Popis1) $Popis1 = Replace("> ",">", $Popis1) $Popis1 = Replace("&g ",">", $Popis1) ENDIF $NoveJmenoKese = $NoveJmenoKese + "$Cast"+"-" + $JmenoKese+"" $NewCacheID="" $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NewName) $NewURLName="G"+"$Cast"+$Name+"" $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NewURLName) $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NoveJmenoKese) $WPT=$_NewLine + $Hlava + $_NewLine + $LongDesc + $Popis1 +"" ELSE $Popis1 = $Popis1 + " ....pokracovani" $Popis1 = Replace("< ","<", $Popis1) $Popis1 = Replace("&l ","<", $Popis1) $Popis1 = Replace("> ",">", $Popis1) $Popis1 = Replace("&g ",">", $Popis1) $Popis1 = Replace("& ","", $Popis1) $Popis1 = Replace("&a ","&", $Popis1) $Popis1 = Replace("&am ","&", $Popis1) $Popis1 = Replace("& ","&", $Popis1) $NoveJmenoKese = $NoveJmenoKese + "-" + $JmenoKese+"" $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NoveJmenoKese) $WPT=$Hlava+$LongDesc+$Popis1+$_NewLine+""+$PatickaKese+$_NewLine ENDIF ELSE IF $PouzijPrefix $NoveJmenoKese = "" $NoveJmenoKese = $NoveJmenoKese + $PrefixKese + "-" + $JmenoKese+"" $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NoveJmenoKese) ENDIF $WPT=$_NewLine + $Hlava + $_NewLine + $LongDesc + $Popis+$_NewLine + ""+ $_NewLine + $PatickaKese ENDIF $OutputGPX = $OutputGPX + $WPT $Cast = $Cast + 1 ENDWHILE ELSE IF $PouzijPrefix $NoveJmenoKese = "" $NoveJmenoKese = $NoveJmenoKese + $PrefixKese + "-" + $JmenoKese+"" $RegEx="(?s).*?" $Hlava = RegExReplace($RegEx, $Hlava, $NoveJmenoKese) ENDIF $WPT=$_NewLine + $Hlava + $_NewLine + $LongDesc + $Popis+$_NewLine + ""+ $_NewLine + $PatickaKese $OutputGPX = $OutputGPX + $WPT ENDIF $OutputGPX = $OutputGPX + $_NewLine ELSE $OutputGPX = $OutputGPX + $W + $_NewLine ENDIF $AktualniW = $AktualniW + 1 ENDWHILE $OutputGPX = $OutputGPX + $_NewLine +"" $res = PutFile($OutputFile,$OutputGPX) IF $chbSmazOrig FILEERASE File=$InputFile OnError=Continue ENDIF IF $RozdelListing While True $FormExit = form($form1,"") BeginCase Case $FormExit = "SystemExit" Cancel Case $FormExit = "btnOk" Cancel EndCase EndWhile ENDIF VarName=$form #******************************************************************** # Form generated by GSAK form designer on ne 24-V-2009 21:28:49 #******************************************************************** Name = Form1 Type = Form Caption = Nastavení úpravy GPX Delay = 10 Height = 400 Visible = Yes Width = 265 Name = Groupbox1 Type = Groupbox Height = 159 Left = 0 Top = 206 Width = 247 Taborder = 1 Name = Groupbox2 Type = Groupbox Height = 129 Left = 0 Top = 0 Width = 247 Taborder = 0 Name = Groupbox3 Type = Groupbox Height = 75 Left = 0 Top = 130 Width = 247 Taborder = 2 Name = Label1 Type = Label Container = Groupbox1 Enabled = Yes Height = 13 Left = 0 Style = bold Top = 6 Width = 153 Caption = Nastavení odstranění tagů Name = OdstranSpan Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 26 Width = 15 Taborder = 0 Name = OdsranTable Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 44 Width = 15 Taborder = 1 Name = OdstranFont Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 80 Width = 15 Taborder = 2 Name = OdstranDiv Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 62 Width = 15 Taborder = 3 Name = OdstranA Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 98 Width = 15 Taborder = 4 Name = OdstranImg Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 116 Width = 15 Taborder = 5 Name = OdstranMarquee Type = Checkbox Container = Groupbox1 Height = 17 Left = 8 Top = 134 Width = 15 Taborder = 6 Name = Label2 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 28 Width = 69 Caption = Odstraň SPAN Name = Label3 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 46 Width = 74 Caption = Odstraň TABLE Name = Label4 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 64 Width = 58 Caption = Odstraň DIV Name = Label5 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 82 Width = 69 Caption = Odstraň FONT Name = Label6 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 100 Width = 47 Caption = Odstraň A Name = Label7 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 118 Width = 60 Caption = Odstraň IMG Name = Label8 Type = Label Container = Groupbox1 Height = 13 Left = 26 Top = 136 Width = 94 Caption = Odstraň MARQUEE Name = Label9 Type = Label Container = Groupbox2 Height = 13 Left = 2 Style = bold Top = 6 Width = 87 Caption = Nastavení cest Name = Label10 Type = Label Container = Groupbox2 Height = 13 Left = 2 Top = 24 Width = 97 Caption = Vstupní soubor GPX Name = InputFile Type = File Container = Groupbox2 Height = 21 Left = 2 Top = 38 Width = 239 Taborder = 0 Name = OutputFile Type = File Container = Groupbox2 Height = 21 Left = 2 Top = 80 Width = 237 Taborder = 1 Name = Label11 Type = Label Container = Groupbox2 Height = 13 Left = 2 Top = 62 Width = 102 Caption = Výstupní soubor GPX Name = RozdelListing Type = Checkbox Container = Groupbox3 Height = 17 Left = 8 Top = 8 Width = 15 Taborder = 0 Name = PouzijPrefix Type = Checkbox Container = Groupbox3 Height = 17 Left = 8 Top = 26 Width = 15 Taborder = 1 Name = DelCas Type = Edit Container = Groupbox3 Height = 21 Left = 70 Top = 46 Width = 39 Taborder = 2 Name = Label12 Type = Label Container = Groupbox3 Height = 13 Left = 24 Top = 10 Width = 62 Caption = Rozděl listing Name = Label13 Type = Label Container = Groupbox3 Height = 13 Left = 24 Top = 28 Width = 123 Caption = Použij prefix u názvu keše Name = Label14 Type = Label Container = Groupbox3 Height = 13 Left = 8 Top = 48 Width = 59 Caption = Délka části : Name = btnOk Type = Button Container = Groupbox1 Height = 25 Left = 162 Top = 50 Width = 75 Taborder = 7 Caption = Uprav GPX Name = btnCancel Type = Button Container = Groupbox1 Height = 25 Left = 162 Top = 82 Width = 75 Taborder = 8 Caption = Cancel Name = chbSmazOrig Type = Checkbox Container = Groupbox2 Height = 17 Left = 6 Top = 106 Width = 21 Taborder = 2 Name = Label15 Type = Label Container = Groupbox2 Height = 13 Left = 26 Top = 108 Width = 166 Caption = Smazat vstupní soubor po úpravě? VarName=$form1 #******************************************************************** # Form generated by GSAK form designer on st 13-V-2009 08:10:38 #******************************************************************** Name = Progress Type = Form Height = 264 Width = 202 Name = Label1 Type = Label Height = 13 Left = 12 Top = 0 Width = 155 Caption = Seznam rozdělených částí keší : Name = Memo1 Type = Memo Height = 177 Left = 0 Top = 16 Width = 185 Wrap = No Taborder = 8 Name = btnOk Type = Button Height = 25 Left = 58 Top = 200 Width = 75 Taborder = 9 Caption = OK