diff --git a/data/tools/wesnoth/README b/data/tools/wesnoth/README new file mode 100644 index 00000000000..1db92751dac --- /dev/null +++ b/data/tools/wesnoth/README @@ -0,0 +1,68 @@ +# @file README + +The programs in this directory data/tools/wesnoth +are for checking, analysing and maintenance of WML-files, +written in python. + +### + +__init__.py + Cause Python to executed any code in this directory on "import wesnoth". + +campaignserver_client.py + textmode-client for uploading + downloding campaigns to the server. + +libsvn.py + Library to provide an interface to svn, + the interface is build upon the command line svn tool. + +wescamp.py + This utility provides two tools + * sync a campaign with the version on wescamp (using the packed campaign as base) + * update the translations in a campaign (in the packed campaign) + +wmldata.py + This module represents the internal appearance of WML. + +wmliterator.py + Python routines for navigating a Battle For Wesnoth WML tree + +wmlparser.py + Module implementing a WML parser. + +wmltools.py + Python routines for working with a Battle For Wesnoth WML tree + +randomtraits.py (rev.21070) + Upconvert v1.3-1.3.7 saved replays to v1.3.8+ format. + Example for using wmliterator.py + +### + +From IRC #wesnoth-dev - 2007-11-27 + + I just don't see the big picture about the files in that directory - who needs it for what task ? + + well, let's say you want to process some WML files and transform them or understand them in a program + if you want to perform lexical analysis, then using wmliterator would save you a lot of work + if you want to parse it and get the overall tree, then wmlparser would be the choice + + Ok, but campaign / scenario-authors rarely do that + right... + + if you want to write tools to help you author those campaigns, + you might write some programs or to maintain them + so it is only useful if you are a programmer + + although wmliterator can do a decent job of detecting unbalanced WML + if that's all you need to do just run it from the command line for that + so it would let you know that [a][/b][/a] is invalid, and give you a line number + or [a][b][/a] + + it just says "reading x.cfg" and "y lines read" + right, no errors + it iterated successfully + + +# vim: tabstop=4: shiftwidth=4: expandtab: softtabstop=4: autoindent: +