示例#1
0
    def save(self):
        if not self.id:
            self.logger.warning(
                'Tag {tag} has no id, a new tag will be created'.format(
                    tag=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_tag = provider.create_tag(data_dict=self.data_dict)
            self.data_dict = new_tag.data_dict
            return self

        saved_data_dict = self.client.modify_tag(
            list_id=self.list_id,
            data_dict=self.data_dict,
        )

        saved_data_dict = filter_dict(saved_data_dict,
                                      self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info(
            'Tag {tag_id} has been successfully saved'.format(tag_id=self.id))
        return self
示例#2
0
    def save(self):
        if not self.id:
            self.logger.warning(
                'Recipient {recipient} has no id, a new recipient will be created'
                .format(recipient=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )

            new_recipient = provider.create_recipient(data_dict=self.data_dict)

            self.data_dict = new_recipient.data_dict
            return self

        saved_data_dict = self.client.update_recipient(
            data_dict=self.data_dict)
        saved_data_dict = filter_dict(saved_data_dict,
                                      self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info(
            'Recipient {recipient_id} has been successfully saved'.format(
                recipient_id=self.id))
        return self
示例#3
0
    def save(self):
        if not self.id:
            self.logger.warning(
                'Message {message} has no id, a new message will be created'.
                format(message=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_message = provider.create_message(data_dict=self.data_dict)
            self.data_dict = new_message.data_dict
            return self
        detail_data_dict = self.client.read_message_detail(
            list_id=self.list_id, message_id=self.id)
        detail_data_dict.update(self.data_dict)
        self.data_dict.update(detail_data_dict)
        saved_data_dict = self.client.update_message(
            list_id=self.list_id,
            message_id=self.id,
            data_dict=self.data_dict,
        )
        saved_data_dict = filter_dict(saved_data_dict,
                                      self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info(
            'Message {message_id} has been successfully saved'.format(
                message_id=self.id))
        return self
示例#4
0
    def save(self):
        if not self.id:
            self.logger.warning(
                'Group {group} has no id, a new group will be created'.format(
                    group=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )

            new_group = provider.create_group(data_dict=self.data_dict, )
            self.data_dict = new_group.data_dict
            return self

        saved_data_dict = self.client.update_group(list_id=self.list_id,
                                                   group_id=self.id,
                                                   data_dict=self.data_dict)
        saved_data_dict = filter_dict(saved_data_dict,
                                      self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info('Group {group_id} has been successfully saved'.format(
            group_id=self.id))
        return self
示例#5
0
    def save(self):
        if not self.id:
            self.logger.warning('Tag {tag} has no id, a new tag will be created'.format(tag=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_tag = provider.create_tag(
                data_dict=self.data_dict
            )
            self.data_dict = new_tag.data_dict
            return self

        saved_data_dict = self.client.modify_tag(
            list_id=self.list_id,
            data_dict=self.data_dict,
        )

        saved_data_dict = filter_dict(saved_data_dict, self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info('Tag {tag_id} has been successfully saved'.format(tag_id=self.id))
        return self
示例#6
0
    def save(self):
        if not self.id:
            self.logger.warning('Message {message} has no id, a new message will be created'.format(message=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_message = provider.create_message(
                data_dict=self.data_dict
            )
            self.data_dict = new_message.data_dict
            return self
        detail_data_dict = self.client.read_message_detail(
            list_id=self.list_id,
            message_id=self.id
        )
        detail_data_dict.update(self.data_dict)
        self.data_dict.update(detail_data_dict)
        saved_data_dict = self.client.update_message(
            list_id=self.list_id,
            message_id=self.id,
            data_dict=self.data_dict,
        )
        saved_data_dict = filter_dict(saved_data_dict, self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info('Message {message_id} has been successfully saved'.format(message_id=self.id))
        return self
示例#7
0
    def save(self):
        if not self.id:
            self.logger.warning('Recipient {recipient} has no id, a new recipient will be created'.format(
                recipient=self
            ))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )

            new_recipient = provider.create_recipient(
                data_dict=self.data_dict
            )

            self.data_dict = new_recipient.data_dict
            return self

        saved_data_dict = self.client.update_recipient(
            data_dict=self.data_dict
        )
        saved_data_dict = filter_dict(saved_data_dict, self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info('Recipient {recipient_id} has been successfully saved'.format(recipient_id=self.id))
        return self
示例#8
0
    def save(self):
        if not self.id:
            self.logger.warning('Group {group} has no id, a new group will be created'.format(group=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )

            new_group = provider.create_group(
                data_dict=self.data_dict,
            )
            self.data_dict = new_group.data_dict
            return self

        saved_data_dict = self.client.update_group(
            list_id=self.list_id,
            group_id=self.id,
            data_dict=self.data_dict
        )
        saved_data_dict = filter_dict(saved_data_dict, self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)
        self.logger.info('Group {group_id} has been successfully saved'.format(group_id=self.id))
        return self
示例#9
0
    def save(self):
        if not self.id:
            self.logger.warning('List {list} has no id, a new list will be created'.format(list=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_list = provider.create_list(data_dict=self.data_dict)

            self.data_dict = new_list.data_dict
            return self

        # MailUp BUG FIX: Only in this case MailUp use "IdList" and not "idList"
        data_dict = self.data_dict.copy()
        list_id = data_dict.pop('idList')
        data_dict['IdList'] = list_id

        # MailUp BUG FIX: Only if list is just created, save return null for few seconds
        saved_data_dict = None
        while not saved_data_dict:
            saved_data_dict = self.client.update_list(data_dict=data_dict)
            if not saved_data_dict:
                self.logger.warning('MailUp as returned None, repeating save..')

        # data_dict as more keys than saved_data_dict
        saved_data_dict = filter_dict(saved_data_dict, self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)

        self.logger.info('List {list_id} has been successfully saved'.format(list_id=self.id))
        return self
示例#10
0
    def __init__(self, data_dict, client=None, logger=None, **kwargs):
        self.client = client
        self.logger = logger or LoggerSingleton()

        if 'mailup_pattern_fields' in kwargs:
            self.mailup_pattern_fields = kwargs['mailup_pattern_fields']
        if 'required_fields' in kwargs:
            self.required_fields = kwargs['required_fields']

        # check data_dict integrity
        MailUpComponent.check_data_dict(self, data_dict)

        # Init Attribute
        self.data_dict = filter_dict(data_dict, self.mailup_pattern_fields)

        super(MailUpComponent, self).__init__()
示例#11
0
    def __init__(self, data_dict, client=None, logger=None, **kwargs):
        self.client = client
        self.logger = logger or LoggerSingleton()

        if 'mailup_pattern_fields' in kwargs:
            self.mailup_pattern_fields = kwargs['mailup_pattern_fields']
        if 'required_fields' in kwargs:
            self.required_fields = kwargs['required_fields']

        # check data_dict integrity
        MailUpComponent.check_data_dict(self, data_dict)

        # Init Attribute
        self.data_dict = filter_dict(data_dict, self.mailup_pattern_fields)

        super(MailUpComponent, self).__init__()
示例#12
0
    def save(self):
        if not self.id:
            self.logger.warning(
                'List {list} has no id, a new list will be created'.format(
                    list=self))

            from mailup.providers import MailUpComponentProvider

            provider = MailUpComponentProvider(
                client=self.client,
                logger=self.logger,
            )
            new_list = provider.create_list(data_dict=self.data_dict)

            self.data_dict = new_list.data_dict
            return self

        # MailUp BUG FIX: Only in this case MailUp use "IdList" and not "idList"
        data_dict = self.data_dict.copy()
        list_id = data_dict.pop('idList')
        data_dict['IdList'] = list_id

        # MailUp BUG FIX: Only if list is just created, save return null for few seconds
        saved_data_dict = None
        while not saved_data_dict:
            saved_data_dict = self.client.update_list(data_dict=data_dict)
            if not saved_data_dict:
                self.logger.warning(
                    'MailUp as returned None, repeating save..')

        # data_dict as more keys than saved_data_dict
        saved_data_dict = filter_dict(saved_data_dict,
                                      self.mailup_pattern_fields)
        self.data_dict.update(saved_data_dict)

        self.logger.info('List {list_id} has been successfully saved'.format(
            list_id=self.id))
        return self