Benutzer:TextsucheBot/Code/aktuell
< Benutzer:TextsucheBotVersion vom 30. Oktober 2014, 11:31 Uhr von imported>Plasmarelais (Die Seite wurde neu angelegt: „<pre><nowiki> @echo off set VERSION=1.0.2 :: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0 :: Erstelle Zeitstempel IF "%DATE:~0,1%" GTR "3" ( …“)
@echo off set VERSION=1.0.2 :: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0 :: Erstelle Zeitstempel IF "%DATE:~0,1%" GTR "3" ( SET DATETIME=%DATE:~9,4%-%DATE:~6,2%-%DATE:~3,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% ) ELSE ( :: ASSUMES SHORTDATE DDxMMxYYYY SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% ) :: CORRECT FOR HOURS BELOW 10 IF %DATETIME:~8,2% LSS 10 SET DATETIME=%DATETIME:~0,8%0%DATETIME:~9,5% :: ECHO %DATETIME% title=TextsucheBot (Version %VERSION%) mode con lines=30 cols=80 :home cls echo. echo ╔════════════════════════════════════════════════════╗ echo ║ Textsuche in der Memory Alpha mit dem TextsucheBot ║ echo ╚════════════════════════════════════════════════════╝ echo. echo [1] Suche in einer Kategorie echo [2] Suche in einer Kategorie und all ihren Unterkategorien echo [3] Suche in einem Namensraum (ACHTUNG: ggf. zeitintensiv!) echo [4] Suche in allen Seiten, die auf eine bestimmte Seiten zeigen echo [5] Suche in allen Seiten, auf die eine bestimmte Seite zeigt echo [6] Rufe alle bisherigen Suchergebnisse auf echo [7] Stelle eine Frage zu diesem Tool echo [8] Info echo [9] Beenden echo. :: Erfrage Auswahl set /p asw="Bitte Auswahl eingeben: " if %asw%==1 goto Suche_cat if %asw%==2 goto Suche_catr if %asw%==3 goto Suche_ns if %asw%==4 goto Suche_ref if %asw%==5 goto Suche_links if %asw%==6 goto Suchergebnisse if %asw%==7 goto Help if %asw%==8 goto Info if %asw%==9 goto ende cls echo. echo Falsche Eingabe. Bitte gib eine Zahl zwischen 1 und 9 ein. echo. set /p ENDE=Drücke "Eingabe" um zum Startbildschirm zu gehen... goto home :: ========== Suche Kategorie ========== :Suche_cat :: Erfrage die zu durchsuchende Kategorie set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anführungszeichen): " echo Es wird gesucht in der Kategorie:%KATEGORIE% :: Setz Namen die Zieldatei f├╝r die Suchergebnisse set DATEINAME=%DATETIME% :: Erfrage den Such-String set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): " :: Starte Suche prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt. :: Schreibe %ZIELSEITE% in "findupload-title.txt" echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt echo %DATETIME%: "%SUCHSTRING%" -cat:"%KATEGORIE%" >> TextsucheBot.log goto processing :: ========== Suche Unterkategorie ========== :Suche_catr :: Erfrage die zu durchsuchende Kategorie set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anführungszeichen): " echo Es wird gesucht in der Kategorie:%KATEGORIE% und deren Unterkategorien :: Setz Namen die Zieldatei f├╝r die Suchergebnisse set DATEINAME=%DATETIME% :: Erfrage den Such-String set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): " :: Starte Suche prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt. :: Schreibe %ZIELSEITE% in "findupload-title.txt" echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt echo %DATETIME%: "%SUCHSTRING%" -catr:"%KATEGORIE%" >> TextsucheBot.log goto processing :: ========== Suche Namensraum ========== :Suche_ns :: Erfrage die zu durchsuchende Kategorie echo Gib einen Namensraum ein, der durchsucht werden soll: echo. echo [1] Artikelnamensraum echo [2] Benutzer echo [3] Memory Alpha echo [4] MediaWiki echo [5] Vorlage echo [6] Hilfe echo [7] Kategorie echo [8] Portal echo [9] Forum echo. set /p ns="Bitte Auswahl eingeben: " if %ns%==1 set NAMENSRAUM=! if %ns%==2 set NAMENSRAUM=User:! if %ns%==3 set NAMENSRAUM=Project:! if %ns%==4 set NAMENSRAUM=MediaWiki:! if %ns%==5 set NAMENSRAUM=Vorlage:! if %ns%==6 set NAMENSRAUM=Hilfe:! if %ns%==7 set NAMENSRAUM=Kategorie:! if %ns%==8 set NAMENSRAUM=Portal:! if %ns%==9 set NAMENSRAUM=Forum:! if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum if %ns%==2 set NAMENSRAUMNAME=Benutzer if %ns%==3 set NAMENSRAUMNAME=Memory_Alpha if %ns%==4 set NAMENSRAUMNAME=MediaWiki if %ns%==5 set NAMENSRAUMNAME=Vorlage if %ns%==6 set NAMENSRAUMNAME=Hilfe if %ns%==7 set NAMENSRAUMNAME=Kategorie if %ns%==8 set NAMENSRAUMNAME=Portal if %ns%==9 set NAMENSRAUMNAME=Forum echo Es wird gesucht im Namensraum: %NAMENSRAUMNAME%. :: Setz Namen die Zieldatei fuer die Suchergebnisse set DATEINAME=%DATETIME% :: Erfrage den Such-String set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): " :: Starte Suche prg\pp.exe prg\pwb\find.py -start:%NAMENSRAUM% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt. :: Schreibe %ZIELSEITE% in "findupload-title.txt" echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt echo Dies sind die Seiten/Dateien im Namensraum %NAMENSRAUMNAME%, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt echo %DATETIME%: "%SUCHSTRING%" -ns:%NAMENSRAUM% >> TextsucheBot.log goto processing :: ========== Suche Ref ========== :Suche_ref :: Erfrage die Seite, auf die verlinkt wird set /p REF-ZIEL="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, die auf diese Seite verlinken. Z.B. "Spock (Spiegeluniversum)" (ohne Anführungszeichen): " echo Es werden die Seiten durchsucht, die auf %REF-ZIEL% verlinken. :: Setz Namen die Zieldatei fuer die Suchergebnisse set DATEINAME=%DATETIME% :: Erfrage den Such-String set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): " :: Starte Suche prg\pp.exe prg\pwb\find.py -ref:"%REF-ZIEL%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt. :: Schreibe %ZIELSEITE% in "findupload-title.txt" echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt echo Dies sind die Seiten/Dateien, die auf %REF-ZIEL% verlinken und den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt echo %DATETIME%: "%SUCHSTRING%" -ref:"%REF-ZIEL%" >> TextsucheBot.log goto processing :: ========== Suche Links ========== :Suche_links :: Erfrage die Seite, die auf die Suchziele verlinkt set /p LINK-SEITE="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, auf die diese Seite verweist. Z.B. "Spock (Spiegeluniversum)" (ohne Anführungszeichen): " echo Es werden die Seiten durchsucht, auf die %LINK-SEITE% verweist. :: Setz Namen die Zieldatei fuer die Suchergebnisse set DATEINAME=%DATETIME% :: Erfrage den Such-String set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): " :: Starte Suche prg\pp.exe prg\pwb\find.py -links:"%LINK-SEITE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt. :: Schreibe %ZIELSEITE% in "findupload-title.txt" echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt echo Dies sind die Seiten/Dateien, auf die %LINK-SEITE% verweist und die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt echo %DATETIME%: "%SUCHSTRING%" -links:"%LINK-SEITE%" >> TextsucheBot.log goto processing :: ========== Help ========== :Help start "" "http://plasmarelais.url.ph/ma-mail/plasmarelais.htm" goto home :: ========== Suchergebnisse ========== :Suchergebnisse start "" "http://de.memory-alpha.org/wiki/Spezial:Pr%C3%A4fixindex/Benutzer:TextsucheBot/Suchergebnis" goto home :: ========== Processing ========== :processing :: Fuehre die Dateien zur Uploadvorlage zusammen copy /b "prg\pwb\findupload-start.txt"+"prg\pwb\findupload-title.txt"+"prg\pwb\findupload-head.txt"+"prg\pwb\%DATEINAME%.txt"+"prg\pwb\findupload-ende.txt" "prg\pwb\findupload.txt" :: Loesche temporaere Dateien del "prg\pwb\%DATEINAME%.txt" del "prg\pwb\findupload-head.txt" :: Lege die Seite im Wiki an prg\pp.exe prg\pwb\pagefromfile.py -notitle -file:"prg\pwb\findupload.txt" :: Replace.py und Add_text.py: Abs├ñtze, Links, Nummerierung prg\pp.exe prg\pwb\replace.py -always -page:"Benutzer:TextsucheBot/Suchergebnis/%DATETIME%" -regex "#\[\[:" "\n#[[:" :: Endausgabe mit Link echo Die geordnete Liste findet sich nun auf der Memory-Alpha-Seite "User:TextsucheBot/Suchergebnis/%DATETIME%". Um dieses Fenster zu schließen und die Seite mit den Suchergebnissen zu öffnen, drücke "Eingabe". set /p ENDE=Drücke "Eingabe" um dieses Fenster zu schließen... :: Ruft die neue Seite im Wiki auf start "" "http://de.memory-alpha.org/wiki/User:TextsucheBot/Suchergebnis/%DATETIME%" goto ende :: ========== Info ========== :Info cls echo. echo ╔════════════════════════════════════════════════════╗ echo ║ Textsuche in der Memory Alpha mit dem TextsucheBot ║ echo ╚════════════════════════════════════════════════════╝ echo. echo TextsucheBot V. %VERSION% echo. echo Dieses Programm wurde von Plasmarelais (de.memory-alpha.org/wiki/User:Plasmarelais) geschrieben und nutzt das pywikipediabot-Framework sowie PortablePython 2.7. echo. echo Quelle für das Icon: http://findicons.com/pack/108/pastel echo. set /p ENDE=Drücke "Eingabe" um zum Startbildschirm zurückzukehren. goto home :: ========== ENDE ========== :ende