Benutzer:MichaelFreyTool/Interwiki
Aus Wikibooks
Inhaltsverzeichnis |
[Bearbeiten] Beschreibung
Aufspüren und Auflisten von Interwiki Links zwischen Schwester Projekt.
Sinn dieser Listen ist, die Links im Allgemeinen zu Verifizieren und Aktuell zu halten.
Die Listung im Format
- Assemblersprache Assembler-Programmierung
bzw.
* Assemblersprache [[:Assembler (80x86 Prozessor)-Programmierung|Assembler-Programmierung]]
auf Benutzer:MichaelFreyTool/Interwiki/Wikipedia bedeutet das der Wikipedia Artikel Assemblersprache auf das Wikibook Assembler (80x86 Prozessor)-Programmierung linkt.
Haupt Idee ist, das tote Links rot in der Liste erscheinen und so Aktualisiert werden können. Dies ist inbesondere deshalb wichtig, weil wir Redirects in der Regel sehr schnell Löschen und es dem Ruf von Wikibooks Nachteilig ist wenn scheinbar alles aus Leeren Seiten besteht, doch in Wirklichkeit wurde nur vergessen die Links anzupassen.
Netter neben Effekt ist, das die Interwiki Links auch auf Spezial:Linkliste (aka Links auf diese Seite) Auftauchen.
[Bearbeiten] Umsetzung
Datenbankkopie von [1] holen und mit diesem Programm bearbeiten:
sub query(a as string, title as string, start as string, stopp as string, i as integer) Dim c as integer Dim d as integer c=instr(a,start) if c then d=instr(c,a,stopp) ? #i, "* " + title + " " + mid$(a,c,d-c+len(stopp)) end if end sub dim a as string dim title as string Dim q as integer Dim c as integer Dim d as integer open command$(1) for input as #1 open "2.txt" for output as #2 open "3.txt" for output as #3 open "4.txt" for output as #4 ? "1 Wikipedia" ? "0 alle anderen" input q ? time$ do until eof(1) c=0 input #1, a c=instr(a,"<title>") if c then d=instr(c,a,"</title>") title= mid$(a,c+len("<title>"),d-c-len("<title>")) end if query(a,title, "{{Wikibooks|","}}",2) query(a,title, "{{wikibooks|","}}",2) query(a,title, "[[B:","]]",2) query(a,title, "[[b:","]]",2) if q=0 then query(a,title, "{{B|","}}",2) query(a,title, "{{b|","}}",2) end if query(a,title, "{{Wikiversity|","}}",3) query(a,title, "{{wikiversity|","}}",3) query(a,title, "[[V:","]]",3) query(a,title, "[[v:","]]",3) if q=0 then query(a,title, "{{V|","}}",3) query(a,title, "{{v|","}}",3) query(a,title, "{{WV|","}}",3) query(a,title, "{{wV|","}}",3) end if query(a,title, "[[ZUM:","]]",4) query(a,title, "[[zum:","]]",4) loop ? time$ ? "Fertig" close sleep
[Bearbeiten] Listen
[Bearbeiten] andere Projekte
Da die Verarbeitung der Wikipedia Datenbank vorallem eine Frage der schieren Dateigrösse ist, erzeuge ich Listen für verschiedene Projekte gleichzeitig:

