#!/usr/bin/env python3 """Build a draft grouped view of the source GeneralClassifiers hierarchy.""" import argparse import hashlib import json import re import sqlite3 import unicodedata from concurrent.futures import ThreadPoolExecutor from contextlib import closing from pathlib import Path GROUPS = { "constitutional_order": ("Конституционный строй и права", "Конституциялык түзүлүш жана укуктар"), "government": ("Государство и публичное управление", "Мамлекет жана мамлекеттик башкаруу"), "justice": ("Право, суд и правопорядок", "Укук, сот жана укук тартиби"), "international": ("Международные отношения", "Эл аралык мамилелер"), "security": ("Оборона и безопасность", "Коргонуу жана коопсуздук"), "economy": ("Экономика, финансы и предпринимательство", "Экономика, финансы жана ишкердик"), "labor_social": ("Труд и социальная защита", "Эмгек жана социалдык коргоо"), "health": ("Здравоохранение", "Саламаттыкты сактоо"), "education_culture": ("Образование, наука и культура", "Билим берүү, илим жана маданият"), "land_environment": ("Земля, природные ресурсы и окружающая среда", "Жер, жаратылыш ресурстары жана айлана-чөйрө"), "agriculture": ("Сельское хозяйство", "Айыл чарба"), "infrastructure": ("Транспорт, связь, строительство и жильё", "Транспорт, байланыш, курулуш жана турак жай"), "information": ("Информация и средства массовой информации", "Маалымат жана жалпыга маалымдоо каражаттары"), "civil_family": ("Гражданские, семейные и жилищные отношения", "Жарандык, үй-бүлөлүк жана турак жай мамилелери"), "cross_cutting": ("Общие и межотраслевые вопросы", "Жалпы жана тармактар аралык маселелер"), "review_required": ("Требуется смысловая проверка", "Маанисин текшерүү талап кылынат"), } RULES = [ ("international", r"международ|внешн(яя|ей) полит|дипломат|консул|иностранн|снг|содружеств|эл аралык"), ("security", r"оборон|военн|арм|мобилизац|государственн(ая|ой) безопасност|чрезвыча|гражданск(ая|ой) оборон|погранич"), ("health", r"здравоохран|медицин|лекарств|санитар|эпидеми|трансплантац|донорств|охрана здоровья"), ("education_culture", r"образован|просвещен|наук|культур|искусств|(?