diff --git a/docs/technical/conf.py b/docs/technical/conf.py index b7096fe89d0d..c9186dbdf46e 100644 --- a/docs/technical/conf.py +++ b/docs/technical/conf.py @@ -19,7 +19,7 @@ templates_path = ["_templates"] exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] -edxplatform_repo_url = "https://github.com/edx/edx-platform" +edxplatform_repo_url = "https://github.com/openedx/edx-platform" edxplatform_source_path = os.path.abspath( os.path.join(os.path.dirname(__file__), "..", "..") ) diff --git a/docs/technical/xml_to_json.py b/docs/technical/xml_to_json.py new file mode 100644 index 000000000000..f6921ad69bc6 --- /dev/null +++ b/docs/technical/xml_to_json.py @@ -0,0 +1,68 @@ +import xml.etree.ElementTree as ET +import json + + +def parse_desc(n): + return n.text + + +def parse_source(n): + return n[0].items()[0][1] + + +def parse_def(n): + return n[0].text + + +def iter_toggle(section): + key = {"name": section[0].text} + for item in section[1:]: + if item.items()[0][1] == "source": + key["source"] = parse_source(item) + elif item.items()[0][1] == "default": + key["default"] = parse_def(item) + elif item.items()[0][1] == "warning": + key["warning"] = item[0].text + elif item.items()[0][1] == "description": + key["desc"] = parse_desc(item) + else: + key[item.items()[0][1]] = item.text.split(": ")[1] + return key + + +result = {} + +s = ET.parse("_build/xml/settings.xml") +s = s.getroot() +s = s[0] + +scms = s.findall("section")[1] +slms = s.findall("section")[0] + +lms_settings = [] +cms_settings = [] + +for i in scms[1:]: + cms_settings.append(iter_toggle(i)) + +result["cms_settigs"] = cms_settings + +for i in slms[1:]: + lms_settings.append(iter_toggle(i)) + +result["lms_settings"] = lms_settings + +f = ET.parse("_build/xml/featuretoggles.xml") +f = f.getroot() +f = f[1] + +f_a = [] + +for i in f[2:]: + f_a.append(iter_toggle(i)) + +result["features_toggles"] = f_a +raw_json = json.dumps(result, indent=2, ensure_ascii=False) +result_file = open("result.json", "wt") +result_file.write(raw_json) +result_file.close()