Parsing is now correctly separated from report generation.
This commit is contained in:
parent
9e0c7d7e84
commit
801c1409e6
1 changed files with 19 additions and 15 deletions
|
@ -19,7 +19,7 @@ import wesnoth.wmlparser as wmlparser
|
|||
import wesnoth.wmltools as wmltools
|
||||
|
||||
class UnitList:
|
||||
def __init__(self, units_filename, text_to_parse):
|
||||
def __init__(self, units_filename, text_to_parse, description):
|
||||
"Collect all units in the specified namespace, None = mainline."
|
||||
|
||||
# Create a new parser.
|
||||
|
@ -40,7 +40,9 @@ class UnitList:
|
|||
# Collect unit data
|
||||
self.units = WML.get_first("+units")
|
||||
|
||||
def report_units(self, isocode, campaign):
|
||||
self.description = description
|
||||
|
||||
def report_units(self, isocode):
|
||||
tx = None
|
||||
doubles = {}
|
||||
self.races = {}
|
||||
|
@ -80,10 +82,10 @@ class UnitList:
|
|||
|
||||
def place_units(race):
|
||||
if use_html:
|
||||
print "<font size=5>%s</font>" % (race + campaign)
|
||||
print "<font size=5>%s</font>" % (race + self.description)
|
||||
print "<table border=solid>"
|
||||
else:
|
||||
print '| colspan="6" | <font size=5>%s</font>' % (race + campaign)
|
||||
print '| colspan="6" | <font size=5>%s</font>' % (race + self.description)
|
||||
print '|-'
|
||||
print '| level 0 || level 1 || level 2 || level 3 || level 4 || level 5'
|
||||
self.levels = []
|
||||
|
@ -165,22 +167,24 @@ if __name__ == '__main__':
|
|||
wmltools.pop_to_top("wmlunits")
|
||||
datadir = os.getcwd() + "/data"
|
||||
|
||||
# Parse all unit data
|
||||
allunits = [UnitList("data/core/units.cfg", None, " - mainline")]
|
||||
campaigns = glob.glob("data/campaigns/*")
|
||||
for campaign in campaigns:
|
||||
dirname = campaign[5:] # strip leading data/
|
||||
description = dirname[10:].replace("_", " ")
|
||||
allunits.append(UnitList(None,
|
||||
"[+units]{%s/units}[/units]" % dirname,
|
||||
" - " + description))
|
||||
|
||||
# Report generation
|
||||
if use_html:
|
||||
print "<html><body>"
|
||||
else:
|
||||
print '{| border="solid"'
|
||||
|
||||
# Mainline
|
||||
mainline = UnitList("data/core/units.cfg", None)
|
||||
mainline.report_units(isocode, " - mainline")
|
||||
|
||||
# Campaigns
|
||||
campaigns = glob.glob("data/campaigns/*")
|
||||
for campaign in campaigns:
|
||||
dirname = campaign[5:] # strip leading data/
|
||||
description = dirname[10:].replace("_", " ")
|
||||
campaign = UnitList(None, "[+units]{%s/units}[/units]" % dirname)
|
||||
campaign.report_units(isocode, " - " + description)
|
||||
for unitlist in allunits:
|
||||
unitlist.report_units(isocode)
|
||||
|
||||
if use_html:
|
||||
print "</body></html>"
|
||||
|
|
Loading…
Add table
Reference in a new issue