Benutzer:MichaelFreyTool/Interwiki

Aus Wikibooks

Wechseln zu: Navigation, Suche

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

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:

[Bearbeiten] Lokal

Persönliche Werkzeuge
Buch erstellen
  • Artikel hinzufügen
  • Hilfe zu Sammlungen