summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/asset/src/generate_frontier_tiles.py')
-rwxr-xr-xsrc/asset/src/generate_frontier_tiles.py41
1 files changed, 26 insertions, 15 deletions
diff --git a/src/asset/src/generate_frontier_tiles.py b/src/asset/src/generate_frontier_tiles.py
index a1f89c8..0281a00 100755
--- a/src/asset/src/generate_frontier_tiles.py
+++ b/src/asset/src/generate_frontier_tiles.py
@@ -10,7 +10,7 @@ def get_xml (filename):
model_root = XML.parse(filename)
if (model_root == None):
- print("Could not open SVG file " + filename + ".")
+ print("[F] Could not open SVG file " + filename + ".")
exit(-1)
return model_root
@@ -18,19 +18,33 @@ def get_xml (filename):
def get_model (filename):
model_root = get_xml(filename)
- result = model_root.findall(G_TAG+"[1]/*")
+ background = model_root.findall(G_TAG+"[@id='background']/*")
- if (len(result) == 0):
- print("Could not find content in model file (" + filename + ")")
+ if (len(background) == 0):
+ print(
+ "[F] Could not find 'background' layer in model file ("
+ + filename
+ + ")"
+ )
exit(-1)
- return result
+ extras = model_root.findall(G_TAG+"[@id='details']/*")
+
+ if (len(extras) == 0):
+ if (model_root.find(G_TAG+"[@id='details']") == None):
+ print(
+ "[W] Could not find 'details' layer in model file ("
+ + filename
+ + ")"
+ )
+
+ return (background, extras)
def replace_group_by (root_node, group_name, new_content, filename):
target_group = root_node.find(G_TAG+"[@id='" + group_name + "']")
if (target_group == None):
- print("Could not find group " + group_name + " in " + filename)
+ print("[F] Could not find group " + group_name + " in " + filename)
exit(-1)
for e in target_group:
@@ -43,12 +57,8 @@ if (len(sys.argv) < 3):
print("Usage: <A> <B> <TEMPLATES>")
exit(-1)
-model_a = get_model(sys.argv[1])
-model_b = get_model(sys.argv[2])
-
-if ((model_b == None) or (len(model_b) == 0)):
- print("Could not find content in model B (" + sys.argv[2] + ")")
- exit(-1)
+(model_a_bg, model_a_details) = get_model(sys.argv[1])
+(model_b_bg, model_b_details) = get_model(sys.argv[2])
current_arg = 3
@@ -61,9 +71,10 @@ while (current_arg < len(sys.argv)):
models_layer = template_root.find(G_TAG+"[@id='models_layer']")
if (models_layer == None):
- print("Could not find model layer in file " + filename + ".")
+ print("[F] Could not find model layer in file " + filename + ".")
- replace_group_by(models_layer, "bg_a_model", model_a, filename)
- replace_group_by(models_layer, "bg_b_model", model_b, filename)
+ replace_group_by(models_layer, "bg_a_model", model_a_bg, filename)
+ replace_group_by(models_layer, "bg_b_model", model_b_bg, filename)
+ replace_group_by(template_root, "details", model_a_details, filename)
template_root.write("/tmp/test" + str(current_arg) + ".svg")