From 39193bb27b51f09c2cfbd9cfe1bc24cff53acdd7 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 14 Jun 2024 17:30:53 -0500 Subject: [PATCH 1/8] fix: fallback to `importlib_metadata` on older python --- rattail_mailchimp/_version.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rattail_mailchimp/_version.py b/rattail_mailchimp/_version.py index 1c3638a..1c2e56d 100644 --- a/rattail_mailchimp/_version.py +++ b/rattail_mailchimp/_version.py @@ -1,6 +1,9 @@ # -*- coding: utf-8; -*- -from importlib.metadata import version +try: + from importlib.metadata import version +except ImportError: + from importlib_metadata import version __version__ = version('rattail-mailchimp') From ac6efbb589cec3a6b5cdbe9a2d8491cc30661193 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 14 Jun 2024 17:31:52 -0500 Subject: [PATCH 2/8] =?UTF-8?q?bump:=20version=200.3.0=20=E2=86=92=200.3.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02a9c20..80ca0d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to rattail-mailchimp will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.3.1 (2024-06-14) + +### Fix + +- fallback to `importlib_metadata` on older python + ## v0.3.0 (2024-06-10) ### Feat diff --git a/pyproject.toml b/pyproject.toml index baf7baa..302659e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "rattail-mailchimp" -version = "0.3.0" +version = "0.3.1" description = "Rattail Software Interfaces for MailChimp" readme = "README.rst" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] From 42cddaf6c0738624584a3b4dae468be7aa046e09 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 1 Jul 2024 12:27:07 -0500 Subject: [PATCH 3/8] fix: remove legacy command definitions --- pyproject.toml | 4 ---- rattail_mailchimp/commands.py | 20 +------------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 302659e..d5fc3b0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,10 +34,6 @@ dependencies = [ rattail_mailchimp = "rattail_mailchimp.config:MailchimpConfigExtension" -[project.entry-points."rattail.subcommands"] -import-mailchimp = "rattail_mailchimp.commands:ImportMailChimp" - - [project.entry-points."rattail.typer_imports"] rattail_mailchimp = "rattail_mailchimp.commands" diff --git a/rattail_mailchimp/commands.py b/rattail_mailchimp/commands.py index 629307d..bc3bdef 100644 --- a/rattail_mailchimp/commands.py +++ b/rattail_mailchimp/commands.py @@ -26,7 +26,7 @@ Rattail Commands for MailChimp integration import typer -from rattail.commands import rattail_typer, ImportSubcommand +from rattail.commands import rattail_typer from rattail.commands.typer import importer_command, typer_get_runas_user from rattail.commands.importing import ImportCommandHandler @@ -46,21 +46,3 @@ def import_mailchimp( config, import_handler_key='to_rattail.from_mailchimp.import') kwargs['user'] = typer_get_runas_user(ctx) handler.run(kwargs, progress=progress) - - -class ImportMailChimp(ImportSubcommand): - """ - Import data to Rattail, from MailChimp API - """ - name = 'import-mailchimp' - description = __doc__.strip() - default_handler_spec = 'rattail_mailchimp.importing.mailchimp:FromMailChimpToRattail' - - def get_handler_factory(self, **kwargs): - if self.config: - spec = self.config.get('rattail.importing', 'mailchimp.handler', - default=self.default_handler_spec) - else: - # just use default, for sake of cmd line help - spec = self.default_handler_spec - return self.app.load_object(spec) From 4f618e80ca46ab6ca3b141fcc96e50814597883c Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 1 Jul 2024 15:11:51 -0500 Subject: [PATCH 4/8] =?UTF-8?q?bump:=20version=200.3.1=20=E2=86=92=200.3.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80ca0d3..dafe9f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to rattail-mailchimp will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.3.2 (2024-07-01) + +### Fix + +- remove legacy command definitions + ## v0.3.1 (2024-06-14) ### Fix diff --git a/pyproject.toml b/pyproject.toml index d5fc3b0..1c88935 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "rattail-mailchimp" -version = "0.3.1" +version = "0.3.2" description = "Rattail Software Interfaces for MailChimp" readme = "README.rst" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] From ec3fd0b2fb9f24c05a762bc206b27efb0b5c1f9d Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 5 Jul 2024 10:08:00 -0500 Subject: [PATCH 5/8] fix: define `host_key` for MailChimp -> Rattail import --- rattail_mailchimp/importing/mailchimp.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/rattail_mailchimp/importing/mailchimp.py b/rattail_mailchimp/importing/mailchimp.py index 6c194fb..c5f9a35 100644 --- a/rattail_mailchimp/importing/mailchimp.py +++ b/rattail_mailchimp/importing/mailchimp.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2023 Lance Edgar +# Copyright © 2010-2024 Lance Edgar # # This file is part of Rattail. # @@ -30,7 +30,6 @@ from collections import OrderedDict from mailchimp3 import MailChimp from rattail import importing -from rattail.time import localtime, make_utc from rattail_mailchimp import importing as mailchimp_importing @@ -38,7 +37,9 @@ class FromMailChimpToRattail(importing.ToRattailHandler): """ Handler for MailChimp -> Rattail cache import """ + host_key = 'mailchimp' host_title = "MailChimp" + generic_host_title = "MailChimp" def get_importers(self): importers = OrderedDict() @@ -53,7 +54,7 @@ class FromMailChimp(importing.Importer): """ def setup(self): - super(FromMailChimp, self).setup() + super().setup() self.api_key = self.config.require('mailchimp', 'api_key') self.mailchimp = MailChimp(self.api_key) @@ -65,10 +66,10 @@ class FromMailChimp(importing.Importer): # issue..since we clearly have a UTC value value = value[:-6] 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: dt = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S%z') - dt = localtime(self.config, dt) + dt = self.app.localtime(dt) return dt @@ -95,7 +96,7 @@ class MailChimpListImporter(FromMailChimp, mailchimp_importing.model.MailChimpLi return { 'id': mclist['id'], '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'], # TODO: this API endpoint does not appear to include this field? # 'unsubscribe_reason': member.get('unsubscribe_reason'), - 'last_changed': make_utc(last_changed), + 'last_changed': self.app.make_utc(last_changed), 'source': member['source'], } From 3591b7e317f996b4118c3688a8a3719e8ad33b4f Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 5 Jul 2024 10:08:20 -0500 Subject: [PATCH 6/8] =?UTF-8?q?bump:=20version=200.3.2=20=E2=86=92=200.3.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dafe9f3..9009e56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to rattail-mailchimp will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.3.3 (2024-07-05) + +### Fix + +- define `host_key` for MailChimp -> Rattail import + ## v0.3.2 (2024-07-01) ### Fix diff --git a/pyproject.toml b/pyproject.toml index 1c88935..cd0bf7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "rattail-mailchimp" -version = "0.3.2" +version = "0.3.3" description = "Rattail Software Interfaces for MailChimp" readme = "README.rst" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] From 860355f8af00600334bdcfea24bf5b0af5bb9ec4 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 16 Aug 2024 10:12:47 -0500 Subject: [PATCH 7/8] fix: avoid deprecated base class for config extension --- rattail_mailchimp/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rattail_mailchimp/config.py b/rattail_mailchimp/config.py index 9005b78..4bad837 100644 --- a/rattail_mailchimp/config.py +++ b/rattail_mailchimp/config.py @@ -24,10 +24,10 @@ Config extensions for rattail-mailchimp """ -from rattail.config import ConfigExtension +from wuttjamaican.conf import WuttaConfigExtension -class MailchimpConfigExtension(ConfigExtension): +class MailchimpConfigExtension(WuttaConfigExtension): """ Config extension for rattail-mailchimp """ From b2113bcd88031fbae67dc5d5a48401e6ab90a9ca Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 13 Sep 2024 18:34:46 -0500 Subject: [PATCH 8/8] docs: use markdown for readme file --- README.md | 11 +++++++++++ README.rst | 14 -------------- pyproject.toml | 2 +- 3 files changed, 12 insertions(+), 15 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 0000000..5b17139 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ + +# rattail_mailchimp + +Rattail is a retail software framework, released under the GNU General +Public License. + +This package contains software interfaces for the +[MailChimp](https://mailchimp.com/) system. + +Please see the [Rattail Project](https://rattailproject.org/) for more +information. diff --git a/README.rst b/README.rst deleted file mode 100644 index 25dc9c3..0000000 --- a/README.rst +++ /dev/null @@ -1,14 +0,0 @@ - -rattail_mailchimp -================= - -Rattail is a retail software framework, released under the GNU General -Public License. - -This package contains software interfaces for the `MailChimp`_ system. - -.. _`MailChimp`: https://mailchimp.com/ - -Please see the `Rattail Project`_ for more information. - -.. _`Rattail Project`: https://rattailproject.org/ diff --git a/pyproject.toml b/pyproject.toml index cd0bf7e..335d26c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "hatchling.build" name = "rattail-mailchimp" version = "0.3.3" description = "Rattail Software Interfaces for MailChimp" -readme = "README.rst" +readme = "README.md" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] license = {text = "GNU GPL v3+"} classifiers = [