summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/asset/src/generate_frontier_tiles.py')
-rwxr-xr-x | src/asset/src/generate_frontier_tiles.py | 65 |
1 files changed, 49 insertions, 16 deletions
diff --git a/src/asset/src/generate_frontier_tiles.py b/src/asset/src/generate_frontier_tiles.py index 0281a00..83bb642 100755 --- a/src/asset/src/generate_frontier_tiles.py +++ b/src/asset/src/generate_frontier_tiles.py @@ -4,8 +4,11 @@ import sys SVG_PREFIX = "{http://www.w3.org/2000/svg}" G_TAG = SVG_PREFIX + "g" - +TEMPLATE_PREFIX = "rtid-" ################################################################################ +def id_to_prefix (id_val): + return ("rmid-" + id_val + "-") + def get_xml (filename): model_root = XML.parse(filename) @@ -15,10 +18,15 @@ def get_xml (filename): return model_root -def get_model (filename): +def get_model (filename, id_prefix): model_root = get_xml(filename) - background = model_root.findall(G_TAG+"[@id='background']/*") + background = model_root.findall( + G_TAG + + "[@id='" + + id_prefix + + "background']/*" + ) if (len(background) == 0): print( @@ -28,10 +36,15 @@ def get_model (filename): ) exit(-1) - extras = model_root.findall(G_TAG+"[@id='details']/*") + extras = model_root.findall( + G_TAG + + "[@id='" + + id_prefix + + "details']/*" + ) if (len(extras) == 0): - if (model_root.find(G_TAG+"[@id='details']") == None): + if (model_root.find(G_TAG+"[@id='" + id_prefix + "details']") == None): print( "[W] Could not find 'details' layer in model file (" + filename @@ -53,14 +66,18 @@ def replace_group_by (root_node, group_name, new_content, filename): target_group.extend(new_content) ################################################################################ -if (len(sys.argv) < 3): - print("Usage: <A> <B> <TEMPLATES>") +if (len(sys.argv) < 6): + print("Usage: <OUTPUT_DIR> <A_ID> <B_ID> <A> <B> <TEMPLATES>") exit(-1) -(model_a_bg, model_a_details) = get_model(sys.argv[1]) -(model_b_bg, model_b_details) = get_model(sys.argv[2]) +output_dir = sys.argv[1] +model_a_id = sys.argv[2] +model_b_id = sys.argv[3] +(model_a_bg, model_a_details) = get_model(sys.argv[4], id_to_prefix(model_a_id)) +(model_b_bg, model_b_details) = get_model(sys.argv[5], id_to_prefix(model_b_id)) -current_arg = 3 +current_arg = 6 +variant_count = 0 while (current_arg < len(sys.argv)): filename = sys.argv[current_arg] @@ -68,13 +85,29 @@ while (current_arg < len(sys.argv)): template_root = get_xml(filename) - models_layer = template_root.find(G_TAG+"[@id='models_layer']") + models_layer = template_root.find( + G_TAG + + "[@id='" + + TEMPLATE_PREFIX + + "models_layer']" + ) if (models_layer == None): print("[F] Could not find model layer in file " + 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") + replace_group_by(models_layer, TEMPLATE_PREFIX + "bg_a_model", model_a_bg, filename) + replace_group_by(models_layer, TEMPLATE_PREFIX + "bg_b_model", model_b_bg, filename) + replace_group_by(template_root, TEMPLATE_PREFIX + "details", model_a_details, filename) + + template_root.write( + output_dir + + "/" + + model_a_id + + "-" + + model_b_id + + "-" + + str(variant_count) + + ".svg" + ) + + variant_count += 1 |