fix: define host_key for MailChimp -> Rattail import

This commit is contained in:
Lance Edgar 2024-07-05 10:08:00 -05:00
parent 4f618e80ca
commit ec3fd0b2fb

View file

@ -2,7 +2,7 @@
################################################################################ ################################################################################
# #
# Rattail -- Retail Software Framework # Rattail -- Retail Software Framework
# Copyright © 2010-2023 Lance Edgar # Copyright © 2010-2024 Lance Edgar
# #
# This file is part of Rattail. # This file is part of Rattail.
# #
@ -30,7 +30,6 @@ from collections import OrderedDict
from mailchimp3 import MailChimp from mailchimp3 import MailChimp
from rattail import importing from rattail import importing
from rattail.time import localtime, make_utc
from rattail_mailchimp import importing as mailchimp_importing from rattail_mailchimp import importing as mailchimp_importing
@ -38,7 +37,9 @@ class FromMailChimpToRattail(importing.ToRattailHandler):
""" """
Handler for MailChimp -> Rattail cache import Handler for MailChimp -> Rattail cache import
""" """
host_key = 'mailchimp'
host_title = "MailChimp" host_title = "MailChimp"
generic_host_title = "MailChimp"
def get_importers(self): def get_importers(self):
importers = OrderedDict() importers = OrderedDict()
@ -53,7 +54,7 @@ class FromMailChimp(importing.Importer):
""" """
def setup(self): def setup(self):
super(FromMailChimp, self).setup() super().setup()
self.api_key = self.config.require('mailchimp', 'api_key') self.api_key = self.config.require('mailchimp', 'api_key')
self.mailchimp = MailChimp(self.api_key) self.mailchimp = MailChimp(self.api_key)
@ -65,10 +66,10 @@ class FromMailChimp(importing.Importer):
# issue..since we clearly have a UTC value # issue..since we clearly have a UTC value
value = value[:-6] value = value[:-6]
dt = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S') dt = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S')
dt = localtime(self.config, dt, from_utc=True) dt = self.app.localtime(dt, from_utc=True)
else: else:
dt = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S%z') dt = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S%z')
dt = localtime(self.config, dt) dt = self.app.localtime(dt)
return dt return dt
@ -95,7 +96,7 @@ class MailChimpListImporter(FromMailChimp, mailchimp_importing.model.MailChimpLi
return { return {
'id': mclist['id'], 'id': mclist['id'],
'name': mclist['name'], 'name': mclist['name'],
'date_created': make_utc(date_created), 'date_created': self.app.make_utc(date_created),
} }
@ -160,6 +161,6 @@ class MailChimpListMemberImporter(FromMailChimp, mailchimp_importing.model.MailC
'status': member['status'], 'status': member['status'],
# TODO: this API endpoint does not appear to include this field? # TODO: this API endpoint does not appear to include this field?
# 'unsubscribe_reason': member.get('unsubscribe_reason'), # 'unsubscribe_reason': member.get('unsubscribe_reason'),
'last_changed': make_utc(last_changed), 'last_changed': self.app.make_utc(last_changed),
'source': member['source'], 'source': member['source'],
} }