def save_to_db(self): self.clear_db() tmp_table = {} # create DigTree and save them in the table for id,tree in self.ctable.items(): obj = DigTree(tree_number=id,tree=self.print_tree(tree)) tmp_table[int(id)] = obj for head in self.mtable: type = '' if head[0] == '1': type = 'I' elif head[0] == '2': type = 'II' elif head[0] == '3': type = 'III' etype = 'G' if head.rfind('/') > 0: etype = 'S' dighead_obj = DigHead(head=head[2:],type=type,etype=etype) for rule in set(self.mtable[head]): digrule_obj = DigRule(rule=rule,dighead=dighead_obj,n=self.mtable[head].count(rule)) for idx in set(self.itable[head[0]+':'+rule]): digindex_obj = DigIndex(word_order=idx,digrule=digrule_obj,n=self.itable[head[0]+':'+rule].count(idx)) for x in self.xtable[head[:2]+rule+'+'+idx]: digtree_obj = tmp_table[int(x)] digindex_obj.addDigTree(digtree_obj)
def clear_db(self): DigHead.dropTable(ifExists=True) DigRule.dropTable(ifExists=True) DigIndex.dropTable(ifExists=True) DigTree.dropTable(ifExists=True) DigHead.createTable() DigRule.createTable() DigIndex.createTable() DigTree.createTable()