Example #1
0
	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)
Example #2
0
	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()