Author: esr
Date: Fri Sep 12 08:49:24 2008
New Revision: 29410
URL: http://svn.gna.org/viewcvs/wesnoth?rev=29410&view=rev
Log:
Teach wmllint to report invalid unit names in advances_to attributes.
Modified:
trunk/data/tools/wmllint
Modified: trunk/data/tools/wmllint
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/data/tools/wmllint?rev=29410&r1=29409&r2=29410&view=diff
==============================================================================
--- trunk/data/tools/wmllint (original)
+++ trunk/data/tools/wmllint Fri Sep 12 08:49:24 2008
@@ -236,6 +236,7 @@
derived_units = []
usage = {}
sides = []
+advances = []
movetypes = []
unit_movetypes = []
races = []
@@ -346,6 +347,11 @@
assert(unit_id)
unit_race = value
unit_races.append((unit_id, filename, i+1, unit_race))
+ elif key == "advances_to":
+ assert(unit_id)
+ advancements = value
+ if advancements.strip() != "null":
+ advances.append((unit_id, filename, i+1, advancements))
except TypeError:
pass
if "{SPECIAL_NOTES}" in lines[i]:
@@ -620,6 +626,13 @@
if base_unit not in unit_types:
print '"%s", line %d: derivation of %s from %s does not resolve' \
% (filename, line, unit_type, base_unit)
+ # Check that all advancements are known units
+ for (unit_id, filename, lineno, advancements) in advances:
+ advancements = map(string.strip, advancements.split(","))
+ bad_advancements = filter(lambda x: x not in (unit_types+derivedlist),
advancements)
+ if bad_advancements:
+ print '"%s", line %d: %s has unknown advancements %s' \
+ % (filename, lineno, unit_id, bad_advancements)
# Syntax transformations
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits