Wir haben bereits festgestellt, dass es keinen Sinn macht, im JuraWiki ein Rechtslexikon zu schreiben (siehe KooperationMitJuraWiki). Mittels eines noch zu schreibenden Makros (HilfeZuMakros) könnten wir Wikipedia-Inhalte ins JuraWiki übernehmen. Das könnte z.B. wie folgt aussehen:

Auf der Seite BundesVerfassungsGericht schreibt man in den Quelltext

[[Wikipedia(Bundesverfassungsgericht)]]

Das Makro schlägt dann den betreffenden Artikel in Wikipedia nach und fügt den Titel und z.B. den ersten Absatz im JuraWiki ein. Das sähe dann etwa so aus:

'WikipediaMakro.gif

Ein paar grundlegende Überlegungen zur Programmierung haben wir bereits beim WikiTreffen/2004-06-02 angestellt.

Ich habe mal einen Prototypen gemacht, den man hier besichtigen kann: http://zosel.dyndns.org/testwiki/BundesVerfassungsGericht (!)

Wikipedia.py

   1 import urllib, re
   2 
   3 def execute(macro, args):
   4 
   5     url = "http://de.wikipedia.org/wiki/" + args
   6     urllib.URLopener.version ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
   7     page = urllib.urlopen(url).read()
   8     regexp = re.compile(r"<p>(?P<text>.*)</p>", re.DOTALL)
   9     result = regexp.search(page)
  10     text =  result.group("text")
  11 
  12 # Umschreiben der Links
  13 #    text = re.sub ("(<a[^>]*href=[\"'])(?!http:\/\/|ftp:\/\/)", "\\1http://de.wikipedia.org", text)
  14 
  15        # Neue Version:
  16        # Links und Quellenangaben umbiegen
  17     server = "http://de.wikipedia.org/"
  18     reg_flags = re.DOTALL or re.DOTALL or re.MULTILINE
  19     regexp = re.compile ("(<\s*(img|a|form|script|link)[^>]*(src|href|action)\s*=\s*[\"']\s*)\/", reg_flags)
  20     text = regexp.sub ("\\1"+server, text)
  21 
  22 
  23 
  24     results = "<table align=\"right\" width=\"100\" border=\"0\" style=\"background-color:#FFDDDD;\"><tr><td><b>" + args + "</b> bei Wikipedia<br>"+text+"<br>... mehr bei <a href=\""+url+"\">Wikipedia</a></td></tr></table>"
  25 
  26     return results

Ich habe mal macro/Wikipedia.py angelegt. Dort wurde der Code inzwischen schon weiter verbessert. Vielleicht findet sich ja noch jemand (der's kann), der das vervollständigt.

Hier ein Test-Skript, das die Wikipedia-Hauptseite lädt und vor der Ausgabe Links und Quellenangaben ersetzt. Allerdings nur die Ziele mit absoluten Pfadangaben, d.h. die, die mit "/" beginnen. Relative Pfadangaben habe ich in den Wiki-Seiten nicht entdeckt, deshalb konnte die RegExp-Syntax etwas vereinfacht werden.

import urllib, re

print "content-type: text/html\n"

   # Seitenquelltext laden
url = "http://de.wikipedia.org/wiki/Hauptseite"
urllib.URLopener.version ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
page = urllib.urlopen(url).read()

if (page):
      # Links und Quellenangaben umbiegen
   server = "http://de.wikipedia.org/"
   reg_flags = re.DOTALL or re.DOTALL or re.MULTILINE
   regexp = re.compile ("(<\s*(img|a|form|script|link)[^>]*(src|href|action)\s*=\s*[\"']\s*)\/", reg_flags)
   page = regexp.sub ("\\1"+server, page)
   
   print page

Noch zu klären

:: Derzeit zeigt ein Link Befähigung in dem wikipedia-Text nicht auf die wikipedia, sondern intern ins wiki und meistens auf eine leere Seite. Das ist vermutlich unerwünscht -- ~~~~

:: Der Verweis auf Wikipedia ist schon sehr gut, es könnte noch erwähnt werden, daß dieser Text unter der GNU FDL steht. --~~~~ Muss sogar. -- JakobVoss

KooperationMitWikipedia/WikipediaMakro (zuletzt geändert am 2008-01-20 19:58:43 durch anonym)