Loading export_models.py 0 → 100755 +44 −0 Original line number Diff line number Diff line #!/usr/bin/env python3 import dicttoxml import os import sys if len(sys.argv) == 2: submissions_dir = sys.argv[1] else: print("Please provide the revised-submissions folder as argument.") sys.exit(1) submissions_dir = os.path.abspath(submissions_dir) folders = os.listdir(submissions_dir) submissions = [] for folder in folders: folder_abspath = os.path.join(submissions_dir,folder) # skip nonfolder files and hidden files if not os.path.isdir(folder) or folder[0] == ".": continue info = {} submission_elements = os.listdir(folder_abspath) for element in submission_elements: element_abspath = os.path.join(folder_abspath,element) if element == "models": info["models"] = element_abspath if element == "instances": instance_files = os.listdir(element_abspath) instances = [instance.replace(".mps.gz", '') for instance in instance_files] info["instances"] = instances if "models" in info.keys(): submissions.append(info) xml = dicttoxml.dicttoxml(submissions, custom_root="models", attr_type=False) from xml.dom.minidom import parseString dom = parseString(xml) print(dom.toprettyxml()) export_models_table.sh 0 → 100755 +21 −0 Original line number Diff line number Diff line #! /bin/bash if [ -z $1 ] then tablename="models_table.xml" else tablename="$1" fi if [ ! -f venv/bin/python ] then virtualenv --python=python3 venv source venv/bin/activate pip install dicttoxml deactivate fi echo "Exporting models table to '${tablename}'" venv/bin/python export_models.py . > ${tablename} Loading
export_models.py 0 → 100755 +44 −0 Original line number Diff line number Diff line #!/usr/bin/env python3 import dicttoxml import os import sys if len(sys.argv) == 2: submissions_dir = sys.argv[1] else: print("Please provide the revised-submissions folder as argument.") sys.exit(1) submissions_dir = os.path.abspath(submissions_dir) folders = os.listdir(submissions_dir) submissions = [] for folder in folders: folder_abspath = os.path.join(submissions_dir,folder) # skip nonfolder files and hidden files if not os.path.isdir(folder) or folder[0] == ".": continue info = {} submission_elements = os.listdir(folder_abspath) for element in submission_elements: element_abspath = os.path.join(folder_abspath,element) if element == "models": info["models"] = element_abspath if element == "instances": instance_files = os.listdir(element_abspath) instances = [instance.replace(".mps.gz", '') for instance in instance_files] info["instances"] = instances if "models" in info.keys(): submissions.append(info) xml = dicttoxml.dicttoxml(submissions, custom_root="models", attr_type=False) from xml.dom.minidom import parseString dom = parseString(xml) print(dom.toprettyxml())
export_models_table.sh 0 → 100755 +21 −0 Original line number Diff line number Diff line #! /bin/bash if [ -z $1 ] then tablename="models_table.xml" else tablename="$1" fi if [ ! -f venv/bin/python ] then virtualenv --python=python3 venv source venv/bin/activate pip install dicttoxml deactivate fi echo "Exporting models table to '${tablename}'" venv/bin/python export_models.py . > ${tablename}