parent
a52e7f8ba9
commit
a556d22117
@ -0,0 +1,73 @@ |
|||||||
|
#!/usr/bin/env python3 |
||||||
|
""" Prepare the piece info for a VASL module. |
||||||
|
|
||||||
|
The main program used to identify 5/8" counters by reading a module's buildFile and checking the height |
||||||
|
attribute of the PieceSlot nodes, but it turns out this is the wrong thing to do (this field actually |
||||||
|
controls the size of the piece's entry in the counter palette): |
||||||
|
https://github.com/vasl-developers/vasl/issues/1195 |
||||||
|
|
||||||
|
For each version of VASL supported, run vassal-shim (getPieceInfo command) to analyze the module's |
||||||
|
buildFile and get the correct counter sizes. Then pass the output into this script, to generate |
||||||
|
the final data file that should be saved in the $/data/vasl-$VERSION/ directory, where it will |
||||||
|
be read by the main program. |
||||||
|
|
||||||
|
NOTE: Introducing this process opens the possibility of also extracting the image file paths |
||||||
|
within the .vmod file, instead of the current messy parsing of the PieceSlot CDATA... :-/ |
||||||
|
""" |
||||||
|
|
||||||
|
import sys |
||||||
|
import os |
||||||
|
import json |
||||||
|
|
||||||
|
import xml.etree.ElementTree as ET |
||||||
|
|
||||||
|
# --------------------------------------------------------------------- |
||||||
|
|
||||||
|
# initialize |
||||||
|
report = {} |
||||||
|
|
||||||
|
# figure out which GPID's we're interested in |
||||||
|
gpids = set() |
||||||
|
def get_gpids( vo_type ): |
||||||
|
"""Get the GPID's from our data files.""" |
||||||
|
dname = os.path.join( os.path.dirname(__file__), "../webapp/data", vo_type ) |
||||||
|
for root,_,fnames in os.walk( dname ): |
||||||
|
for fname in fnames: |
||||||
|
if os.path.splitext( fname )[1] != ".json": |
||||||
|
continue |
||||||
|
fname = os.path.join( root, fname ) |
||||||
|
with open( fname, "r", encoding="utf-8" ) as fp: |
||||||
|
entries = json.load( fp ) |
||||||
|
for entry in entries: |
||||||
|
entry_gpid = entry.get( "gpid" ) |
||||||
|
if not entry_gpid: |
||||||
|
continue |
||||||
|
if isinstance( entry_gpid, list ): |
||||||
|
gpids.update( str(g) for g in entry_gpid ) |
||||||
|
else: |
||||||
|
gpids.add( str( entry_gpid ) ) |
||||||
|
get_gpids( "vehicles" ) |
||||||
|
get_gpids( "ordnance" ) |
||||||
|
|
||||||
|
# parse the piece info generated by vassal-shim |
||||||
|
doc = ET.parse( sys.stdin ) |
||||||
|
for piece_info in doc.getroot(): |
||||||
|
gpid = piece_info.attrib["gpid"] |
||||||
|
if gpid not in gpids: |
||||||
|
continue |
||||||
|
info = {} |
||||||
|
# check if the next piece is small |
||||||
|
if int( piece_info.attrib["height"] ) <= 48: |
||||||
|
info["is_small"] = True |
||||||
|
if info: |
||||||
|
report[ gpid ] = info |
||||||
|
|
||||||
|
# output the final report |
||||||
|
print( "{" ) |
||||||
|
lines = [] |
||||||
|
for gpid, piece_info in report.items(): |
||||||
|
lines.append( "\"{}\": {}".format( |
||||||
|
gpid, json.dumps( piece_info ) |
||||||
|
) ) |
||||||
|
print( ",\n".join( lines ) ) |
||||||
|
print( "}" ) |
@ -0,0 +1,65 @@ |
|||||||
|
{ |
||||||
|
"6996": {"is_small": true}, |
||||||
|
"485": {"is_small": true}, |
||||||
|
"850": {"is_small": true}, |
||||||
|
"849": {"is_small": true}, |
||||||
|
"12689": {"is_small": true}, |
||||||
|
"856": {"is_small": true}, |
||||||
|
"857": {"is_small": true}, |
||||||
|
"11336": {"is_small": true}, |
||||||
|
"858": {"is_small": true}, |
||||||
|
"11337": {"is_small": true}, |
||||||
|
"1149": {"is_small": true}, |
||||||
|
"1153": {"is_small": true}, |
||||||
|
"12687": {"is_small": true}, |
||||||
|
"3b5:7613": {"is_small": true}, |
||||||
|
"11359": {"is_small": true}, |
||||||
|
"3b5:11259": {"is_small": true}, |
||||||
|
"1632": {"is_small": true}, |
||||||
|
"1636": {"is_small": true}, |
||||||
|
"1641": {"is_small": true}, |
||||||
|
"1648": {"is_small": true}, |
||||||
|
"1982": {"is_small": true}, |
||||||
|
"1983": {"is_small": true}, |
||||||
|
"1984": {"is_small": true}, |
||||||
|
"1985": {"is_small": true}, |
||||||
|
"1986": {"is_small": true}, |
||||||
|
"1987": {"is_small": true}, |
||||||
|
"1988": {"is_small": true}, |
||||||
|
"2172": {"is_small": true}, |
||||||
|
"2173": {"is_small": true}, |
||||||
|
"2176": {"is_small": true}, |
||||||
|
"2179": {"is_small": true}, |
||||||
|
"11391": {"is_small": true}, |
||||||
|
"11392": {"is_small": true}, |
||||||
|
"11395": {"is_small": true}, |
||||||
|
"11396": {"is_small": true}, |
||||||
|
"11440": {"is_small": true}, |
||||||
|
"3b5:8401": {"is_small": true}, |
||||||
|
"3b5:8402": {"is_small": true}, |
||||||
|
"2465": {"is_small": true}, |
||||||
|
"2474": {"is_small": true}, |
||||||
|
"3252": {"is_small": true}, |
||||||
|
"3253": {"is_small": true}, |
||||||
|
"3263": {"is_small": true}, |
||||||
|
"3422": {"is_small": true}, |
||||||
|
"3428": {"is_small": true}, |
||||||
|
"6730": {"is_small": true}, |
||||||
|
"3605": {"is_small": true}, |
||||||
|
"3608": {"is_small": true}, |
||||||
|
"6763": {"is_small": true}, |
||||||
|
"3679": {"is_small": true}, |
||||||
|
"3680": {"is_small": true}, |
||||||
|
"3681": {"is_small": true}, |
||||||
|
"3682": {"is_small": true}, |
||||||
|
"3691": {"is_small": true}, |
||||||
|
"3692": {"is_small": true}, |
||||||
|
"3959": {"is_small": true}, |
||||||
|
"11558": {"is_small": true}, |
||||||
|
"11559": {"is_small": true}, |
||||||
|
"3b5:10150": {"is_small": true}, |
||||||
|
"3b5:10151": {"is_small": true}, |
||||||
|
"11600": {"is_small": true}, |
||||||
|
"11604": {"is_small": true}, |
||||||
|
"3b5:7871": {"is_small": true} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
{ |
||||||
|
"6996": {"is_small": true}, |
||||||
|
"485": {"is_small": true}, |
||||||
|
"850": {"is_small": true}, |
||||||
|
"849": {"is_small": true}, |
||||||
|
"12689": {"is_small": true}, |
||||||
|
"856": {"is_small": true}, |
||||||
|
"857": {"is_small": true}, |
||||||
|
"11336": {"is_small": true}, |
||||||
|
"858": {"is_small": true}, |
||||||
|
"11337": {"is_small": true}, |
||||||
|
"1149": {"is_small": true}, |
||||||
|
"1153": {"is_small": true}, |
||||||
|
"12687": {"is_small": true}, |
||||||
|
"3b5:7613": {"is_small": true}, |
||||||
|
"11359": {"is_small": true}, |
||||||
|
"3b5:11259": {"is_small": true}, |
||||||
|
"1632": {"is_small": true}, |
||||||
|
"1636": {"is_small": true}, |
||||||
|
"1641": {"is_small": true}, |
||||||
|
"1648": {"is_small": true}, |
||||||
|
"1982": {"is_small": true}, |
||||||
|
"1983": {"is_small": true}, |
||||||
|
"1984": {"is_small": true}, |
||||||
|
"1985": {"is_small": true}, |
||||||
|
"1986": {"is_small": true}, |
||||||
|
"1987": {"is_small": true}, |
||||||
|
"1988": {"is_small": true}, |
||||||
|
"2172": {"is_small": true}, |
||||||
|
"2173": {"is_small": true}, |
||||||
|
"2176": {"is_small": true}, |
||||||
|
"2179": {"is_small": true}, |
||||||
|
"11391": {"is_small": true}, |
||||||
|
"11392": {"is_small": true}, |
||||||
|
"11395": {"is_small": true}, |
||||||
|
"11396": {"is_small": true}, |
||||||
|
"11440": {"is_small": true}, |
||||||
|
"3b5:8401": {"is_small": true}, |
||||||
|
"3b5:8402": {"is_small": true}, |
||||||
|
"2465": {"is_small": true}, |
||||||
|
"2474": {"is_small": true}, |
||||||
|
"3252": {"is_small": true}, |
||||||
|
"3253": {"is_small": true}, |
||||||
|
"3263": {"is_small": true}, |
||||||
|
"3422": {"is_small": true}, |
||||||
|
"3428": {"is_small": true}, |
||||||
|
"6730": {"is_small": true}, |
||||||
|
"3605": {"is_small": true}, |
||||||
|
"3608": {"is_small": true}, |
||||||
|
"6763": {"is_small": true}, |
||||||
|
"3679": {"is_small": true}, |
||||||
|
"3680": {"is_small": true}, |
||||||
|
"3681": {"is_small": true}, |
||||||
|
"3682": {"is_small": true}, |
||||||
|
"3691": {"is_small": true}, |
||||||
|
"3692": {"is_small": true}, |
||||||
|
"3959": {"is_small": true}, |
||||||
|
"11558": {"is_small": true}, |
||||||
|
"11559": {"is_small": true}, |
||||||
|
"3b5:10150": {"is_small": true}, |
||||||
|
"3b5:10151": {"is_small": true}, |
||||||
|
"11600": {"is_small": true}, |
||||||
|
"11604": {"is_small": true}, |
||||||
|
"3b5:7871": {"is_small": true} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
{ |
||||||
|
"6996": {"is_small": true}, |
||||||
|
"485": {"is_small": true}, |
||||||
|
"850": {"is_small": true}, |
||||||
|
"849": {"is_small": true}, |
||||||
|
"12689": {"is_small": true}, |
||||||
|
"856": {"is_small": true}, |
||||||
|
"857": {"is_small": true}, |
||||||
|
"11336": {"is_small": true}, |
||||||
|
"858": {"is_small": true}, |
||||||
|
"11337": {"is_small": true}, |
||||||
|
"1149": {"is_small": true}, |
||||||
|
"1153": {"is_small": true}, |
||||||
|
"12687": {"is_small": true}, |
||||||
|
"3b5:7613": {"is_small": true}, |
||||||
|
"11359": {"is_small": true}, |
||||||
|
"3b5:11259": {"is_small": true}, |
||||||
|
"1632": {"is_small": true}, |
||||||
|
"1636": {"is_small": true}, |
||||||
|
"1641": {"is_small": true}, |
||||||
|
"1648": {"is_small": true}, |
||||||
|
"1982": {"is_small": true}, |
||||||
|
"1983": {"is_small": true}, |
||||||
|
"1984": {"is_small": true}, |
||||||
|
"1985": {"is_small": true}, |
||||||
|
"1986": {"is_small": true}, |
||||||
|
"1987": {"is_small": true}, |
||||||
|
"1988": {"is_small": true}, |
||||||
|
"2172": {"is_small": true}, |
||||||
|
"2173": {"is_small": true}, |
||||||
|
"2176": {"is_small": true}, |
||||||
|
"2179": {"is_small": true}, |
||||||
|
"11391": {"is_small": true}, |
||||||
|
"11392": {"is_small": true}, |
||||||
|
"11395": {"is_small": true}, |
||||||
|
"11396": {"is_small": true}, |
||||||
|
"11440": {"is_small": true}, |
||||||
|
"3b5:8401": {"is_small": true}, |
||||||
|
"3b5:8402": {"is_small": true}, |
||||||
|
"2465": {"is_small": true}, |
||||||
|
"2474": {"is_small": true}, |
||||||
|
"3252": {"is_small": true}, |
||||||
|
"3253": {"is_small": true}, |
||||||
|
"3263": {"is_small": true}, |
||||||
|
"3422": {"is_small": true}, |
||||||
|
"3428": {"is_small": true}, |
||||||
|
"6730": {"is_small": true}, |
||||||
|
"3605": {"is_small": true}, |
||||||
|
"3608": {"is_small": true}, |
||||||
|
"6763": {"is_small": true}, |
||||||
|
"3679": {"is_small": true}, |
||||||
|
"3680": {"is_small": true}, |
||||||
|
"3681": {"is_small": true}, |
||||||
|
"3682": {"is_small": true}, |
||||||
|
"3691": {"is_small": true}, |
||||||
|
"3692": {"is_small": true}, |
||||||
|
"3959": {"is_small": true}, |
||||||
|
"11558": {"is_small": true}, |
||||||
|
"11559": {"is_small": true}, |
||||||
|
"3b5:10150": {"is_small": true}, |
||||||
|
"3b5:10151": {"is_small": true}, |
||||||
|
"11600": {"is_small": true}, |
||||||
|
"11604": {"is_small": true}, |
||||||
|
"3b5:7871": {"is_small": true} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
{ |
||||||
|
"6996": {"is_small": true}, |
||||||
|
"485": {"is_small": true}, |
||||||
|
"850": {"is_small": true}, |
||||||
|
"849": {"is_small": true}, |
||||||
|
"12689": {"is_small": true}, |
||||||
|
"856": {"is_small": true}, |
||||||
|
"857": {"is_small": true}, |
||||||
|
"11336": {"is_small": true}, |
||||||
|
"858": {"is_small": true}, |
||||||
|
"11337": {"is_small": true}, |
||||||
|
"1149": {"is_small": true}, |
||||||
|
"1153": {"is_small": true}, |
||||||
|
"12687": {"is_small": true}, |
||||||
|
"3b5:7613": {"is_small": true}, |
||||||
|
"11359": {"is_small": true}, |
||||||
|
"3b5:11259": {"is_small": true}, |
||||||
|
"1632": {"is_small": true}, |
||||||
|
"1636": {"is_small": true}, |
||||||
|
"1641": {"is_small": true}, |
||||||
|
"1648": {"is_small": true}, |
||||||
|
"1982": {"is_small": true}, |
||||||
|
"1983": {"is_small": true}, |
||||||
|
"1984": {"is_small": true}, |
||||||
|
"1985": {"is_small": true}, |
||||||
|
"1986": {"is_small": true}, |
||||||
|
"1987": {"is_small": true}, |
||||||
|
"1988": {"is_small": true}, |
||||||
|
"2172": {"is_small": true}, |
||||||
|
"2173": {"is_small": true}, |
||||||
|
"2176": {"is_small": true}, |
||||||
|
"2179": {"is_small": true}, |
||||||
|
"11391": {"is_small": true}, |
||||||
|
"11392": {"is_small": true}, |
||||||
|
"11395": {"is_small": true}, |
||||||
|
"11396": {"is_small": true}, |
||||||
|
"11440": {"is_small": true}, |
||||||
|
"3b5:8401": {"is_small": true}, |
||||||
|
"3b5:8402": {"is_small": true}, |
||||||
|
"2465": {"is_small": true}, |
||||||
|
"2474": {"is_small": true}, |
||||||
|
"3252": {"is_small": true}, |
||||||
|
"3253": {"is_small": true}, |
||||||
|
"3263": {"is_small": true}, |
||||||
|
"3422": {"is_small": true}, |
||||||
|
"3428": {"is_small": true}, |
||||||
|
"6730": {"is_small": true}, |
||||||
|
"3605": {"is_small": true}, |
||||||
|
"3608": {"is_small": true}, |
||||||
|
"6763": {"is_small": true}, |
||||||
|
"3679": {"is_small": true}, |
||||||
|
"3680": {"is_small": true}, |
||||||
|
"3681": {"is_small": true}, |
||||||
|
"3682": {"is_small": true}, |
||||||
|
"3691": {"is_small": true}, |
||||||
|
"3692": {"is_small": true}, |
||||||
|
"3959": {"is_small": true}, |
||||||
|
"11558": {"is_small": true}, |
||||||
|
"11559": {"is_small": true}, |
||||||
|
"3b5:10150": {"is_small": true}, |
||||||
|
"3b5:10151": {"is_small": true}, |
||||||
|
"11600": {"is_small": true}, |
||||||
|
"11604": {"is_small": true}, |
||||||
|
"3b5:7871": {"is_small": true} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
{ |
||||||
|
"6996": {"is_small": true}, |
||||||
|
"485": {"is_small": true}, |
||||||
|
"850": {"is_small": true}, |
||||||
|
"849": {"is_small": true}, |
||||||
|
"12689": {"is_small": true}, |
||||||
|
"856": {"is_small": true}, |
||||||
|
"857": {"is_small": true}, |
||||||
|
"11336": {"is_small": true}, |
||||||
|
"858": {"is_small": true}, |
||||||
|
"11337": {"is_small": true}, |
||||||
|
"1149": {"is_small": true}, |
||||||
|
"1153": {"is_small": true}, |
||||||
|
"12687": {"is_small": true}, |
||||||
|
"3b5:7613": {"is_small": true}, |
||||||
|
"11359": {"is_small": true}, |
||||||
|
"3b5:11259": {"is_small": true}, |
||||||
|
"1632": {"is_small": true}, |
||||||
|
"1636": {"is_small": true}, |
||||||
|
"1641": {"is_small": true}, |
||||||
|
"1648": {"is_small": true}, |
||||||
|
"1982": {"is_small": true}, |
||||||
|
"1983": {"is_small": true}, |
||||||
|
"1984": {"is_small": true}, |
||||||
|
"1985": {"is_small": true}, |
||||||
|
"1986": {"is_small": true}, |
||||||
|
"1987": {"is_small": true}, |
||||||
|
"1988": {"is_small": true}, |
||||||
|
"2172": {"is_small": true}, |
||||||
|
"2173": {"is_small": true}, |
||||||
|
"2176": {"is_small": true}, |
||||||
|
"2179": {"is_small": true}, |
||||||
|
"11391": {"is_small": true}, |
||||||
|
"11392": {"is_small": true}, |
||||||
|
"11395": {"is_small": true}, |
||||||
|
"11396": {"is_small": true}, |
||||||
|
"11440": {"is_small": true}, |
||||||
|
"3b5:8401": {"is_small": true}, |
||||||
|
"3b5:8402": {"is_small": true}, |
||||||
|
"2465": {"is_small": true}, |
||||||
|
"2474": {"is_small": true}, |
||||||
|
"3252": {"is_small": true}, |
||||||
|
"3253": {"is_small": true}, |
||||||
|
"3263": {"is_small": true}, |
||||||
|
"3422": {"is_small": true}, |
||||||
|
"3428": {"is_small": true}, |
||||||
|
"6730": {"is_small": true}, |
||||||
|
"3605": {"is_small": true}, |
||||||
|
"3608": {"is_small": true}, |
||||||
|
"6763": {"is_small": true}, |
||||||
|
"3679": {"is_small": true}, |
||||||
|
"3680": {"is_small": true}, |
||||||
|
"3681": {"is_small": true}, |
||||||
|
"3682": {"is_small": true}, |
||||||
|
"3691": {"is_small": true}, |
||||||
|
"3692": {"is_small": true}, |
||||||
|
"3959": {"is_small": true}, |
||||||
|
"11558": {"is_small": true}, |
||||||
|
"11559": {"is_small": true}, |
||||||
|
"3b5:10150": {"is_small": true}, |
||||||
|
"3b5:10151": {"is_small": true}, |
||||||
|
"11600": {"is_small": true}, |
||||||
|
"11604": {"is_small": true}, |
||||||
|
"3b5:7871": {"is_small": true} |
||||||
|
} |
Binary file not shown.
Loading…
Reference in new issue