comparison src/plugins/plugin_tickets_import_bugzilla.py @ 2471:544c4d2fec45

plugins schema, merge_requests, tickets*: factorisation Dode common in plugins using schema have been factorised in pubsub schema plugin, and filters users in tickets handling have been renamed in a more generic way and put there too. "reporter*" fields in tickets have been renamed to "author*" as it is a more generic term which can be used elsewhere. The use of new utils.partial function make easy the creation of simple plugins using schema.
author Goffi <goffi@goffi.org>
date Fri, 12 Jan 2018 15:58:54 +0100
parents 8b37a62336c3
children 0046283a285d
comparison
equal deleted inserted replaced
2470:8084066ac95b 2471:544c4d2fec45
70 ticket['id'] = bug.findtext('bug_id') 70 ticket['id'] = bug.findtext('bug_id')
71 ticket['created'] = utils.date_parse(bug.findtext('creation_ts')) 71 ticket['created'] = utils.date_parse(bug.findtext('creation_ts'))
72 ticket['updated'] = utils.date_parse(bug.findtext('delta_ts')) 72 ticket['updated'] = utils.date_parse(bug.findtext('delta_ts'))
73 ticket['title'] = bug.findtext('short_desc') 73 ticket['title'] = bug.findtext('short_desc')
74 reporter_elt = bug.find('reporter') 74 reporter_elt = bug.find('reporter')
75 ticket['reporter'] = reporter_elt.get('name') 75 ticket['author'] = reporter_elt.get('name')
76 if ticket['reporter'] is None: 76 if ticket['author'] is None:
77 if '@' in reporter_elt.text: 77 if '@' in reporter_elt.text:
78 ticket['reporter'] = reporter_elt.text[:reporter_elt.text.find('@')].title() 78 ticket['author'] = reporter_elt.text[:reporter_elt.text.find('@')].title()
79 else: 79 else:
80 ticket['reporter'] = u'no name' 80 ticket['author'] = u'no name'
81 ticket['reporter_email'] = reporter_elt.text 81 ticket['author_email'] = reporter_elt.text
82 assigned_to_elt = bug.find('assigned_to') 82 assigned_to_elt = bug.find('assigned_to')
83 ticket['assigned_to_name'] = assigned_to_elt.get('name') 83 ticket['assigned_to_name'] = assigned_to_elt.get('name')
84 ticket['assigned_to_email'] = assigned_to_elt.text 84 ticket['assigned_to_email'] = assigned_to_elt.text
85 ticket['cc_emails'] = [e.text for e in bug.findall('cc')] 85 ticket['cc_emails'] = [e.text for e in bug.findall('cc')]
86 ticket['priority'] = bug.findtext('priority').lower().strip() 86 ticket['priority'] = bug.findtext('priority').lower().strip()