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:

{{attachment:'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
{{{
#!python
import urllib, re

def execute(macro, args):

    url = "http://de.wikipedia.org/wiki/" + args
    urllib.URLopener.version ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    page = urllib.urlopen(url).read()
    regexp = re.compile(r"<p>(?P<text>.*)</p>", re.DOTALL)
    result = regexp.search(page)
    text =  result.group("text")

# Umschreiben der Links
#    text = re.sub ("(<a[^>]*href=[\"'])(?!http:\/\/|ftp:\/\/)", "\\1http://de.wikipedia.org", text)

       # Neue Version:
       # 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)
    text = regexp.sub ("\\1"+server, text)



    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>"

    return results
}}}

Ich habe mal MoinMoin: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.

{{{

#!/usr/bin/env python

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 =

 * Was passiert, wenn die Seite nicht aufrufbar ist? Timeout?
 ** Bitte verwendet Caching (auch um den Wikipedia-Server zu schonen). -- JakobVoss

 * Wie genau soll das zu generierende HTML aussehen?

 * Sollen im Text eventuell vorhandene Links umgeschrieben werden?

:: 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 -- ~~~~

 * Gestattet die Wikipedia-Lizenz eine solche Übernahme?

:: 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

 * ...