def testBasic(self): self.assertEqual(parse_docs.check_cycle_template('cycle_line'), True) self.assertEqual(parse_docs.check_cycle_template('cycle_Line'), True) self.assertEqual(parse_docs.check_cycle_template('Cycle_Line'), False) self.assertEqual(parse_docs.check_cycle_template('Cycle_Line'), False) self.assertEqual(parse_docs.check_cycle_template('_tagname_'), False) self.assertEqual(parse_docs.check_cycle('cycle_line_TagName_'), True) self.assertEqual(parse_docs.check_cycle('_TagName_'), False) self.assertEqual(parse_docs.check_cycle('cycle_line_'), False) self.assertEqual(parse_docs.check_cycle('cycle_line'), False) self.assertEqual(parse_docs.get_template_from_tagname('cycle_line_tagname'), 'cycle_line') self.assertEqual(parse_docs.get_tagname_from_tag_with_num('cycle_line_tagname_13'), 'cycle_line_tagname') self.assertEqual(parse_docs.get_num_from_tag_with_num('cycle_line_tagname_13'), '13')
def get_all_datatags(self, number): """Get all data Tags from document_number Input: number - main.Number Output: list of dict tag_name - text tag_value - text tag_description - (Template.desc +num+ |+ desc if cycle) cycle - True/False cycle_template - True/False tag_id """ data_tags = self.data.filter(number = number) out = [] for data_tag in data_tags: tag_name = data_tag.tag_name tag_value = data_tag.tag_value cycle = parse_docs.check_cycle(tag_name) cycle_template = parse_docs.check_cycle_template(tag_name) if cycle: name = parse_docs.get_tagname_from_tag_with_num(tag_name) tag = self.tag.get(name = name) template = parse_docs.get_template_from_tagname(name) tag_template = self.tag.get(name = template) num = parse_docs.get_num_from_tag_with_num(tag_name) tag_description = tag_template.description +' '+str( int(num)+1)+ ' |' + tag.description tag_id = tag.id else: tag = self.tag.get(name = tag_name) if cycle_template: tag_value = str(int(tag_value)+1) tag_description = tag.description tag_id = tag.id out.append({ 'tag_name': tag_name, 'tag_value': tag_value, 'tag_description': tag_description, 'cycle': cycle, 'cycle_template': cycle_template, 'tag_id': tag_id }) return out
def modify_cycle_tags(self, number, tag_name, count): """Decrement num tags, if >= count Input: number - Number tag_name - cycle_template count - count of rows in table """ for data in self.data.filter(number = number): if parse_docs.check_cycle(data.tag_name): if parse_docs.get_template_from_tagname( data.tag_name) == tag_name: num = parse_docs.get_num_from_tag_with_num( data.tag_name) if int(num) >= count: num = str(int(num)-1) data.tag_name = parse_docs.get_tagname_from_tag_with_num( data.tag_name) + '_' + num data.save()