mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-08 14:12:27 -05:00
This changeset pulls in all of the notification_utils code directly into the API and removes it as an external dependency. We are doing this to cut down on operational maintenance of the project and will begin removing parts of it no longer needed for the API. Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
32 lines
983 B
Python
32 lines
983 B
Python
from ordered_set import OrderedSet
|
|
|
|
from notifications_utils.insensitive_dict import InsensitiveDict
|
|
|
|
|
|
class TemplateChange:
|
|
def __init__(self, old_template, new_template):
|
|
self.old_placeholders = InsensitiveDict.from_keys(old_template.placeholders)
|
|
self.new_placeholders = InsensitiveDict.from_keys(new_template.placeholders)
|
|
|
|
@property
|
|
def has_different_placeholders(self):
|
|
return bool(self.new_placeholders.keys() ^ self.old_placeholders.keys())
|
|
|
|
@property
|
|
def placeholders_added(self):
|
|
return OrderedSet(
|
|
[
|
|
self.new_placeholders.get(key)
|
|
for key in self.new_placeholders.keys() - self.old_placeholders.keys()
|
|
]
|
|
)
|
|
|
|
@property
|
|
def placeholders_removed(self):
|
|
return OrderedSet(
|
|
[
|
|
self.old_placeholders.get(key)
|
|
for key in self.old_placeholders.keys() - self.new_placeholders.keys()
|
|
]
|
|
)
|