ich habe mal ein kleines Script geschrieben, welches ein Quest aus dem Wiki anhand der Wiki-URL in AOQML-Szenen-XML-Dateien umwandelt. Es braucht wget, bash und ein paar GNU-Tools wie sed, tr und awk. Es ist außerdem nur unter Linux getestet, aber wer sich etwas mit Batch-Jobs und solchen Tools auskennt, kann es bestimmt auch unter Windows zum Laufen bringen.
wiki2aoqml (bash-Wrapper-Script)
- Code: Alles auswählen
#!/bin/bash
function printHelp() {
echo
echo "Syntax: wiki2aoqml QUEST-VERZEICHNISPFAD WIKI-URL"
echo "Beispiel: wiki2aowml quests/eliasores http://wiki.antamar-community.de/index.php?title=Der_Weg_nach_Eliasores"
echo
}
if [ -z "$1" ]; then
echo "FEHLER: Quest Verzeichnispfad fehlt" >&2
printHelp
exit 1
fi
if [ -z "$2" ]; then
echo "ERROR: Wiki URL fehlt" >&2
printHelp
exit 1
fi
html=$(tempfile).html
wget -O- "$2" | tr -d '\r' | sed -e 's/<div [^>]*>/\n/g' -e 's/<[^>]*>//g' >$html
test ! -d "$1" && mkdir "$1"
cd "$1"
awk -f ~/bin/wiki2aoqml.awk <$html
echo rm $html
wiki2aoqml.awk (eigentliches awk-Script)
- Code: Alles auswählen
BEGIN {
foundScene=""
inScene=""
}
{
gsub( /</, "<" )
gsub( />/, ">" )
gsub( /"/, "\"" )
gsub( /^ $/, "" )
if ( inScene>"" ) {
print $0 >>inScene
}
}
/^.*\.xml$/ {
foundScene=$0
} Der_Weg_nach_Eliasore
/<scene/ {
if ( foundScene == "" ) {
print "FEHLEr: '<scene...>' ohne vorausgehendes '*.xml'"
exit 1
}
inScene=foundScene
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >inScene
print $0 >>inScene
}
/<\/scene/ {
inScene=""
}
Der Aufruf
- Code: Alles auswählen
~/bin/wiki2aoqml quests/eliasores http://wiki.antamar-community.de/index.php?title=Der_Weg_nach_Eliasores
Grüße
... Lowlander