def get_tn(row_num: int): skus = db_un.get_en_skus() # start index with 1 sku_str = skus[row_num - 1][1] sku_dict = json.loads(sku_str) tn = sku_dict['trade_name'] return tn
def build_tn_dict(): # try to load index or compute new one terms_docids = load_terms_docs_idx() if terms_docids != False: return terms_docids un_db_skus = db_un.get_en_skus() terms_docids = compute_tn_index(un_db_skus) save_tn_dict(terms_docids) return terms_docids
def build_index_row_en_uuid(): info('[+] build_index_row_en_uuid {[row_num]: en_uuid}') db_idx = db_un.load_row_un_id_index() # case: index cached in db if db_idx != False: idx = prepare_row_id_from_db(db_idx) return idx # case: there is no index cached in db un_db = db_un.get_en_skus() idx = compute_row_id_idx(un_db) db_un.save_row_id_idx(idx) return idx
def get_dosage_items(): skus = db_un.get_en_skus() dosages = dict() # {[id]: value} for un_id, data_str, row_num in skus: sku_data = str_to_dict(data_str) man_forms = sku_data['man_forms'] for man_form in man_forms: dosage_form = man_form['dosage_form'] name = dosage_form['name'] dosage_id = dosage_form['id'] if dosage_id not in dosages: dosages[dosage_id] = dict(name=name) if 'docs' not in dosages[dosage_id]: dosages[dosage_id]['docs'] = set() docs = dosages[dosage_id]['docs'] docs.add(row_num) return dosages
def get_company(row_num): skus = db_un.get_en_skus() sku_str = skus[row_num - 1][1] sku_data = json.loads(sku_str) return sku_data['address']['company']['name']
def get_dosage_form_str(row_num: int): # таблетки, покрытые плёночной оболочкой skus = db_un.get_en_skus() sku_str = skus[row_num - 1][1] sku_data = str_to_dict(sku_str) result = get_dosage(sku_data) return result