diff options
Diffstat (limited to 'distixlib/plugins/import_mail_plugin.py')
-rw-r--r-- | distixlib/plugins/import_mail_plugin.py | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/distixlib/plugins/import_mail_plugin.py b/distixlib/plugins/import_mail_plugin.py index 3ef19c6..58f9627 100644 --- a/distixlib/plugins/import_mail_plugin.py +++ b/distixlib/plugins/import_mail_plugin.py @@ -97,13 +97,13 @@ class ImportMailPlugin(cliapp.Plugin): if referenced_tickets: for ticket in referenced_tickets: - if not self._contains_message(ticket, msg): + if not self._contains_message(ticket_store, ticket, msg): ticket.add_message(msg) self._set_key_value(ticket, key, value) cache.add_msg_ids_for_ticket_id( ticket.get_ticket_id(), msg_ids) else: - if not self._is_already_imported(msg, all_tickets): + if not self._is_already_imported(ticket_store, msg, all_tickets): new_ticket = self._create_ticket_from_msg(repo, msg) self._set_key_value(new_ticket, key, value) cache.add_msg_ids_for_ticket_id( @@ -122,17 +122,12 @@ class ImportMailPlugin(cliapp.Plugin): metadata.add(key, value) ticket.set_ticket_metadata(metadata) - def _contains_message(self, ticket, msg): - return any( - self._equal_messages(existing, msg) - for existing in ticket.get_messages()) + def _contains_message(self, store, ticket, msg): + return store.ticket_has_message_with_text(ticket, msg.as_string()) - def _equal_messages(self, msg1, msg2): - return msg1.as_string() == msg2.as_string() - - def _is_already_imported(self, msg, all_tickets): + def _is_already_imported(self, store, msg, all_tickets): for ticket in all_tickets: - if self._contains_message(ticket, msg): + if self._contains_message(store, ticket, msg): return True return False |