update
This commit is contained in:
parent
b998714321
commit
660cf9e241
16
extract.py
16
extract.py
@ -14,10 +14,17 @@ def main():
|
|||||||
logger.addHandler(_ch)
|
logger.addHandler(_ch)
|
||||||
logger.setLevel("DEBUG")
|
logger.setLevel("DEBUG")
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("map_file")
|
parser.add_argument("map_file", help="map file, or bin if you also use --bin")
|
||||||
|
parser.add_argument("--bin", action="store_true", help="use this if the file is already a .bin file")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
map_file = args.map_file
|
map_file = args.map_file
|
||||||
|
|
||||||
|
_fh = logging.FileHandler(args.map_file+".log")
|
||||||
|
_fh.setFormatter(_formatter)
|
||||||
|
logger.addHandler(_fh)
|
||||||
|
|
||||||
|
if not args.bin:
|
||||||
logger.info("Opening %s", map_file)
|
logger.info("Opening %s", map_file)
|
||||||
zip_file = zipfile.ZipFile(map_file)
|
zip_file = zipfile.ZipFile(map_file)
|
||||||
files = zip_file.namelist()
|
files = zip_file.namelist()
|
||||||
@ -33,8 +40,12 @@ def main():
|
|||||||
zip_file.close()
|
zip_file.close()
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
fp = zip_file.open(bin_filename)
|
||||||
|
else:
|
||||||
|
bin_filename = args.map_file
|
||||||
|
fp = open(bin_filename, "rb")
|
||||||
logger.info("Opening %s", bin_filename)
|
logger.info("Opening %s", bin_filename)
|
||||||
with zip_file.open(bin_filename) as bin_file:
|
with fp as bin_file:
|
||||||
byte = bin_file.read(1)
|
byte = bin_file.read(1)
|
||||||
while byte != b"":
|
while byte != b"":
|
||||||
if byte == b'\x2a': # start object
|
if byte == b'\x2a': # start object
|
||||||
@ -47,6 +58,7 @@ def main():
|
|||||||
objects.append({"model": model, "x": x, "y": y, "z": z, "angle": angle})
|
objects.append({"model": model, "x": x, "y": y, "z": z, "angle": angle})
|
||||||
logger.info("Object model=%s x=%s y=%s z=%s angle=%s", model, x, y, z, angle)
|
logger.info("Object model=%s x=%s y=%s z=%s angle=%s", model, x, y, z, angle)
|
||||||
byte = bin_file.read(1)
|
byte = bin_file.read(1)
|
||||||
|
if not args.bin:
|
||||||
zip_file.close()
|
zip_file.close()
|
||||||
|
|
||||||
logger.info("Number of objects: %s", len(objects))
|
logger.info("Number of objects: %s", len(objects))
|
||||||
|
Loading…
Reference in New Issue
Block a user