mail[Wesnoth-commits] r20135 - /trunk/data/tools/wmllint


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by patrick_X99 on September 06, 2007 - 03:57:
Author: sapient
Date: Thu Sep  6 03:57:09 2007
New Revision: 20135

URL: http://svn.gna.org/viewcvs/wesnoth?rev=20135&view=rev
Log:
commit some experimental code to upconvert 1.3.7 old-style radius= usage

Modified:
    trunk/data/tools/wmllint

Modified: trunk/data/tools/wmllint
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/tools/wmllint?rev=20135&r1=20134&r2=20135&view=diff
==============================================================================
--- trunk/data/tools/wmllint (original)
+++ trunk/data/tools/wmllint Thu Sep  6 03:57:09 2007
@@ -486,6 +486,7 @@
     # the name of the file is passed as filename, text of the file as the
     # array of strings in lines.  Modify lines in place as needed, and
     # set modcount to nonzero when you actually change any.
+    global versions
     modcount = 0
     # Ensure that every attack has a translatable description."
     for i in range(len(lines)):
@@ -678,6 +679,32 @@
                     break
             if nullattack:
                 lines = lines[:i] + lines[i+2:]
+    # Upconvert old radius usage
+    if "1.3.7" in versions and future:
+        radius_pos = wmlfind("radius=")
+        scopeIter = radius_pos.iterScope()
+        startline = scopeIter.lineno()
+        wspace = radius_pos.text()
+        wspace = wspace[:len(wspace)-len(wspace.lstrip())]
+        radius_danger = False
+        to_indent = []
+        no_indent = []
+        for pos in scopeIter:
+            tag = pos.tag()
+            if tag in ("[and]", "[or]", "[not]"):
+                radius_danger = True
+                no_indent.extend(pos.text().splitlines())
+            elif tag in ("variable=", "side=", "count=", "adjacent="):
+                no_indent.extend(pos.text().splitlines())
+            else:
+                to_add = pos.text().splitlines()
+                to_add[0] = baseindent + to_add[0]
+                to_indent.extend(to_add)
+        if radius_danger:
+            lines = lines[:startline] + [wspace + "[and]"] + to_indent +\
+                    [wspace + "[/and]"] + no_indent + 
lines[scopeIter.lineno():]
+            modcount += 1
+        
     # More syntax transformations would go here.
     return (lines, modcount)
 
@@ -917,6 +944,7 @@
 """)
 
 if __name__ == '__main__':
+    global versions
     try:
         (options, arguments) = getopt.getopt(sys.argv[1:], "cdfDho:rsv", [
             "help",




Related Messages


Powered by MHonArc, Updated Thu Sep 06 05:00:20 2007