27 lines
656 B
Python
27 lines
656 B
Python
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', '.'))
|