Hauptmenü öffnen

Memory Alpha Nova β

Benutzer:TextsucheBot/Code/aktuell

< Benutzer:TextsucheBot
Version 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" ( …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version ansehen (Unterschied) | Nächstjüngere Version → (Unterschied)
@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