about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py')
-rw-r--r--.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py80
1 files changed, 80 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py b/.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py
new file mode 100644
index 00000000..62db8372
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/sendgrid/helpers/mail/asm.py
@@ -0,0 +1,80 @@
+from .group_id import GroupId
+from .groups_to_display import GroupsToDisplay
+
+
+class Asm(object):
+    """An object specifying unsubscribe behavior."""
+
+    def __init__(self, group_id, groups_to_display=None):
+        """Create an ASM with the given group_id and groups_to_display.
+
+        :param group_id: ID of an unsubscribe group
+        :type group_id: GroupId, int, required
+        :param groups_to_display: Unsubscribe groups to display
+        :type groups_to_display: GroupsToDisplay, list(int), optional
+        """
+        self._group_id = None
+        self._groups_to_display = None
+
+        if group_id is not None:
+            self.group_id = group_id
+
+        if groups_to_display is not None:
+            self.groups_to_display = groups_to_display
+
+    @property
+    def group_id(self):
+        """The unsubscribe group to associate with this email.
+
+        :rtype: GroupId
+        """
+        return self._group_id
+
+    @group_id.setter
+    def group_id(self, value):
+        """The unsubscribe group to associate with this email.
+
+        :param value: ID of an unsubscribe group
+        :type value: GroupId, int, required
+        """
+        if isinstance(value, GroupId):
+            self._group_id = value
+        else:
+            self._group_id = GroupId(value)
+
+    @property
+    def groups_to_display(self):
+        """The unsubscribe groups that you would like to be displayed on the
+        unsubscribe preferences page. Max of 25 groups.
+
+        :rtype: GroupsToDisplay
+        """
+        return self._groups_to_display
+
+    @groups_to_display.setter
+    def groups_to_display(self, value):
+        """An array containing the unsubscribe groups that you would like to
+        be displayed on the unsubscribe preferences page. Max of 25 groups.
+
+        :param groups_to_display: Unsubscribe groups to display
+        :type groups_to_display: GroupsToDisplay, list(int), optional
+        """
+        if isinstance(value, GroupsToDisplay):
+            self._groups_to_display = value
+        else:
+            self._groups_to_display = GroupsToDisplay(value)
+
+    def get(self):
+        """
+        Get a JSON-ready representation of this ASM object.
+
+        :returns: This ASM object, ready for use in a request body.
+        :rtype: dict
+        """
+        asm = {}
+        if self.group_id is not None:
+            asm["group_id"] = self.group_id.get()
+
+        if self.groups_to_display is not None:
+            asm["groups_to_display"] = self.groups_to_display.get()
+        return asm