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
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
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
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
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
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
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
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
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
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__()
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