1 from linda.debug import dprint
2 from linda.parser.rfc822parser import RFC822Parser
3
6 self.validate(('Tag:', 'Type:'))
7 output_var = {}
8 for x in self.data:
9 parse_dict = {'tag': '', 'key': '', 'value': ''}
10 for k in x:
11 if k.find(':') != -1:
12 cur_line = k.split(':')
13 parse_dict['key'] = cur_line[0]
14 parse_dict['value'] = cur_line[1][:-1].strip()
15 else:
16 dprint(_("Ignoring unknown line: \"%s\".") % k[:-1], 2)
17 if k.startswith('Tag:'):
18 parse_dict['tag'] = parse_dict['value']
19 output_var[parse_dict['tag']] = {}
20 dprint(_("Found tag: %s.") % parse_dict['tag'], 4)
21 elif k.startswith('Type:') or k.startswith('Justification:'):
22 dprint(_("Adding %s: %s to %s") % (parse_dict['key'], \
23 parse_dict['value'], parse_dict['tag']), 4)
24 output_var[parse_dict['tag']][parse_dict['key']] = \
25 parse_dict['value']
26 elif k.startswith('#'):
27 continue
28 else:
29 dprint(_("Unknown key: %s.") % parse_dict['key'], 2)
30 dprint(_("Data file (%s): %s") % (self.file, output_var), 3)
31 self.data = output_var
32