from bs4 import BeautifulSoup import yaml import sys en_yaml = "_i18n/en.yml" index = "resources/user-guides/index.md" with open(en_yaml, 'r') as stream: data_loaded = yaml.safe_load(stream) with open(index, "r") as f: soup = BeautifulSoup(f, "html.parser") divs = soup.find_all("div", {"class": "col"}) data = {} for div in divs: category = str(div.find("h2")) category = category.split(".")[1].split(" ")[0] data[category] = [] items = div.find_all("p") for raw_html in items: title_key = raw_html.text.split(".")[1].split(" ")[0] title_yaml = data_loaded["user-guides"][title_key] info = { "title_key": title_key, "title_yaml": title_yaml, "raw_data": raw_html } data[category].append(info) success = 1 for category in data: original = data[category] alphabetic = sorted(data[category], key=lambda d: d['title_yaml']) data[category] = alphabetic if original == alphabetic: print(f"--> Category: {category} [ OK ]") else: print(f"--> Category: {category} [ FAIL ]") success = 0 if success == 0: sys.exit(1)