First attempt at documenting the files in data/tools/wesnoth/

This commit is contained in:
Hans Joachim Gurt 2007-11-28 04:57:38 +00:00
parent 027ee48e74
commit c65879d7d0

68
data/tools/wesnoth/README Normal file
View file

@ -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
<hajo> I just don't see the big picture about the files in that directory - who needs it for what task ?
<Sapient> well, let's say you want to process some WML files and transform them or understand them in a program
<Sapient> if you want to perform lexical analysis, then using wmliterator would save you a lot of work
<Sapient> if you want to parse it and get the overall tree, then wmlparser would be the choice
<hajo> Ok, but campaign / scenario-authors rarely do that
<Sapient> right...
<Sapient> if you want to write tools to help you author those campaigns,
<Sapient> you might write some programs or to maintain them
<Sapient> so it is only useful if you are a programmer
<Sapient> although wmliterator can do a decent job of detecting unbalanced WML
<Sapient> if that's all you need to do just run it from the command line for that
<Sapient> so it would let you know that [a][/b][/a] is invalid, and give you a line number
<Sapient> or [a][b][/a]
<hajo> it just says "reading x.cfg" and "y lines read"
<Sapient> right, no errors
<Sapient> it iterated successfully
# vim: tabstop=4: shiftwidth=4: expandtab: softtabstop=4: autoindent: