summaryrefslogtreecommitdiff
path: root/distixlib/plugins/import_mail_plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'distixlib/plugins/import_mail_plugin.py')
-rw-r--r--distixlib/plugins/import_mail_plugin.py17
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