import zipfile import json import os import sys def get_mod_info(target_file): with zipfile.ZipFile(target_file) as z: return json.loads(z.read('mcmod.info'))[0] def get_modpack_info(target_dir): for f in os.scandir(target_dir): if f.is_file(): if '.jar' in f.name.lower(): yield get_mod_info(f.path) def main(directory='.'): modpack_info = list(get_modpack_info(directory)) print(json.dumps(modpack_info, indent=2)) if __name__ == "__main__": args = {arg.lower(): val for arg, val in (a[2:].split('=') for a in sys.argv if '--' in a.lower())} main(args.get('modpack_path', '.'))