diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml
index 551ef6b6..92d0fa02 100644
--- a/.github/workflows/black.yml
+++ b/.github/workflows/black.yml
@@ -32,4 +32,4 @@ jobs:
# run black
- name: run black
- run: black src/ --check --diff --line-length 79
+ run: black src/
diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml
index 0fb3d9b7..c3b66a58 100644
--- a/.github/workflows/flake8.yml
+++ b/.github/workflows/flake8.yml
@@ -32,4 +32,4 @@ jobs:
# run flake8
- name: run flake8
- run: flake8 src/ setup.py --ignore E203,W503
+ run: flake8 src/ setup.py
diff --git a/setup.cfg b/setup.cfg
index f1aa06cb..c726a5e2 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,7 +4,6 @@ ignore =
.coveragerc
.editorconfig
.gitattributes
- bootstrap-buildout.py
[isort]
# for details see
@@ -14,3 +13,12 @@ force_single_line = True
lines_after_imports = 2
line_length = 200
not_skip = __init__.py
+
+[flake8]
+exclude = bootstrap.py,docs,*.egg.,omelette
+max-complexity = 15
+max-line-length = 100000
+extend-ignore =
+ E203,
+ C901,
+ C101
diff --git a/src/rer/newsletter/configure.zcml b/src/rer/newsletter/configure.zcml
index 62820959..6764fe4b 100644
--- a/src/rer/newsletter/configure.zcml
+++ b/src/rer/newsletter/configure.zcml
@@ -55,6 +55,14 @@
directory="profiles/uninstall"
post_handler=".setuphandlers.uninstall"
/>
+
+
- 1004
+ 1005
profile-plone.app.tiles:default
diff --git a/src/rer/newsletter/profiles/to_1005/registry.xml b/src/rer/newsletter/profiles/to_1005/registry.xml
new file mode 100644
index 00000000..1d360342
--- /dev/null
+++ b/src/rer/newsletter/profiles/to_1005/registry.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/src/rer/newsletter/setuphandlers.py b/src/rer/newsletter/setuphandlers.py
index 2f45d744..25388cc8 100644
--- a/src/rer/newsletter/setuphandlers.py
+++ b/src/rer/newsletter/setuphandlers.py
@@ -12,7 +12,7 @@
class HiddenProfiles(object):
def getNonInstallableProfiles(self):
"""Hide uninstall profile from site-creation and quickinstaller"""
- return ["rer.newsletter:uninstall"]
+ return ["rer.newsletter:uninstall", "rer.newsletter:to_1005"]
def post_install(context):
diff --git a/src/rer/newsletter/tests/test_subscriptions_adapter.py b/src/rer/newsletter/tests/test_subscriptions_adapter.py
index e0c09ccd..cced2673 100644
--- a/src/rer/newsletter/tests/test_subscriptions_adapter.py
+++ b/src/rer/newsletter/tests/test_subscriptions_adapter.py
@@ -81,23 +81,17 @@ def test_emails_are_stored_lowered(self):
def test_subscribe_email_twice_return_error(self):
self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
status, token = self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
self.assertEqual(token, None)
self.assertEqual(status, ALREADY_SUBSCRIBED)
# also if we try with capital letters
status, token = self.subscribers_adapter.subscribe("Foo@FoO.coM")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
self.assertEqual(token, None)
self.assertEqual(status, ALREADY_SUBSCRIBED)
@@ -123,9 +117,7 @@ def test_activate_subscription_with_token(self):
def test_cant_delete_subscription_with_wrong_token(self):
status, token = self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
status, res = self.subscribers_adapter.deleteUserWithSecret("xyz")
self.assertEqual(res, None)
@@ -133,39 +125,27 @@ def test_cant_delete_subscription_with_wrong_token(self):
def test_cant_delete_subscription_with_wrong_email(self):
status, token = self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
status = self.subscribers_adapter.deleteUser("bar@bar.com")
self.assertEqual(status, MAIL_NOT_PRESENT)
def test_delete_subscription_with_email(self):
status, token = self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
status = self.subscribers_adapter.deleteUser("foo@foo.com")
self.assertEqual(status, OK)
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 0
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 0)
def test_delete_subscription_with_token(self):
status, token = self.subscribers_adapter.subscribe("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
- status, res = self.subscribers_adapter.deleteUserWithSecret(
- secret=token
- )
+ status, res = self.subscribers_adapter.deleteUserWithSecret(secret=token)
self.assertEqual(res, "foo@foo.com")
self.assertEqual(status, OK)
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 0
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 0)
def test_add_user_required_mail(self):
self.assertRaises(TypeError, self.subscribers_adapter.addUser)
@@ -183,9 +163,7 @@ def test_unsubscribe_user_required_mail(self):
def test_unsubscribe_user_with_mail(self):
self.subscribers_adapter.addUser("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
subscribers = self.subscribers_adapter.channel_subscriptions
status, token = self.subscribers_adapter.unsubscribe("foo@foo.com")
@@ -194,9 +172,7 @@ def test_unsubscribe_user_with_mail(self):
def test_unsubscribe_user_with_wrong_mail(self):
self.subscribers_adapter.addUser("foo@foo.com")
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
status, token = self.subscribers_adapter.unsubscribe("bar@bar.com")
@@ -214,21 +190,11 @@ def test_export_users_list(self):
self.assertEqual(len(res_json), 2)
def test_import_users_list(self):
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 0
- )
- self.subscribers_adapter.importUsersList(
- ["foo@foo.com", "bar@bar.com"]
- )
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 2
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 0)
+ self.subscribers_adapter.importUsersList(["foo@foo.com", "bar@bar.com"])
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 2)
def test_import_users_list_with_wrong_mail(self):
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 0
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 0)
self.subscribers_adapter.importUsersList(["foo@foo.com", "bar"])
- self.assertEqual(
- len(self.subscribers_adapter.channel_subscriptions.keys()), 1
- )
+ self.assertEqual(len(self.subscribers_adapter.channel_subscriptions.keys()), 1)
diff --git a/src/rer/newsletter/upgrades.py b/src/rer/newsletter/upgrades.py
index b13ae6b4..5b7ab447 100644
--- a/src/rer/newsletter/upgrades.py
+++ b/src/rer/newsletter/upgrades.py
@@ -14,6 +14,11 @@
KEY = "rer.newsletter.channel.history"
+def extract_send_history(item):
+ history = ContentHistoryView(item, item.REQUEST).fullHistory()
+ return [x for x in history if x["action"] == "Invio"]
+
+
def migrate_to_1001(context):
setup_tool = api.portal.get_tool("portal_setup")
setup_tool.runImportStepFromProfile(default_profile, "plone.app.registry")
@@ -83,6 +88,9 @@ def migrate_to_1004(context):
)
-def extract_send_history(item):
- history = ContentHistoryView(item, item.REQUEST).fullHistory()
- return [x for x in history if x["action"] == "Invio"]
+def migrate_to_1005(context):
+ setup_tool = api.portal.get_tool("portal_setup")
+ setup_tool.runImportStepFromProfile(
+ "profile-rer.newsletter:to_1005", "plone.app.registry"
+ )
+ logger.info("Updated to 1005")
diff --git a/src/rer/newsletter/upgrades.zcml b/src/rer/newsletter/upgrades.zcml
index 01522d73..fc46156f 100644
--- a/src/rer/newsletter/upgrades.zcml
+++ b/src/rer/newsletter/upgrades.zcml
@@ -39,5 +39,12 @@
destination="1004"
handler=".upgrades.migrate_to_1004"
/>
-
+