def ensure_category(cat_name, ord=100): """ Look for the record (or create one, if None) "Others" in Categories. """ cat= RM.get_element(AuthorityCategory, report=False, name=cat_name) if not cat: cat= RM.create_element(AuthorityCategory, False, name=cat_name, order=ord) return cat
def create_element(record, category): """ Creating new Authority record. """ for k in ('num', 'teryt_name', 'woj', 'pow', 'typ', 'post_office', 'name_lookup'): del record[k] # Remove unnecessary keys. record['category']= category # Add category. new_record= RM.create_element(AuthorityProfile, verbose=True, **record) return new_record
def get_category(rec, cat_territory): """ Find or create Category in Territories. cat_territory - global parent of all Territories in AuthorityCategory. """ try: category_type= RM.get_element(TerritoryType, report=False, name__in=TYPE_MAP[rec['typ']]) except Exception as e: print "Cannot even find Territory Type for the record %s - %s, here is what system says:\n%s" % ( rec['num'], rec['address_city'], e) return None # Define Wojewodstwo. type1= RM.create_element(TerritoryType, verbose=False, name=TYPE_MAP['WJ'][0]) territory1= RM.create_element(Territory, verbose=False, name=upper_diacr(rec['woj']), type=type1, parent=cat_territory) # Define Powiat. type2= RM.create_element(TerritoryType, verbose=False, name=TYPE_MAP['PZ'][0]) # Always powiat! territory2= RM.create_element(Territory, verbose=False, name=rec['pow'].strip(), type=type2, parent=territory1) return territory2