From ca0d8451d0a9efe36c1c2e4b3a804c47f97696ff Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Wed, 4 Mar 2020 19:55:29 +0100 Subject: [PATCH] Refactor module structure Move mysqltasks to top level to keep the task names when using Python3. --- docs/changelog.rst | 2 ++ gvamysql/gvacommon/.gitignore | 3 --- gvamysql/gvacommon/celeryrouters.py | 4 --- gvamysql/gvamysql/__init__.py | 0 gvamysql/mysqltasks/__init__.py | 6 +++++ gvamysql/{gvamysql => mysqltasks}/celery.py | 6 ++--- gvamysql/{gvamysql => mysqltasks}/settings.py | 26 +++++++++---------- gvamysql/mysqltasks/tasks.py | 4 +-- gvamysql/setup.cfg | 18 +++++++++++++ 9 files changed, 42 insertions(+), 27 deletions(-) delete mode 100644 gvamysql/gvacommon/.gitignore delete mode 100644 gvamysql/gvamysql/__init__.py rename gvamysql/{gvamysql => mysqltasks}/celery.py (56%) rename gvamysql/{gvamysql => mysqltasks}/settings.py (57%) create mode 100644 gvamysql/setup.cfg diff --git a/docs/changelog.rst b/docs/changelog.rst index 4dbde28..c43fc97 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,8 @@ Changelog ========= +* :support:`-` move mysqltasks to top level to keep the task names when + using Python 3 * :support:`-` drop old requirements files * :release:`0.1.2 <2020-02-29>` diff --git a/gvamysql/gvacommon/.gitignore b/gvamysql/gvacommon/.gitignore deleted file mode 100644 index 5f1ace6..0000000 --- a/gvamysql/gvacommon/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.*.swp -*.pyc -.ropeproject/ diff --git a/gvamysql/gvacommon/celeryrouters.py b/gvamysql/gvacommon/celeryrouters.py index ec7b122..3dc6184 100644 --- a/gvamysql/gvacommon/celeryrouters.py +++ b/gvamysql/gvacommon/celeryrouters.py @@ -1,9 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - - class GvaRouter(object): - def route_for_task(self, task, args=None, kwargs=None): for route in ['ldap', 'file', 'mysql', 'pgsql']: if route in task: diff --git a/gvamysql/gvamysql/__init__.py b/gvamysql/gvamysql/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/gvamysql/mysqltasks/__init__.py b/gvamysql/mysqltasks/__init__.py index c9f1fef..5140ca7 100644 --- a/gvamysql/mysqltasks/__init__.py +++ b/gvamysql/mysqltasks/__init__.py @@ -1,3 +1,9 @@ """ This module contains :py:mod:`mysqltasks.tasks`. """ + +__version__ = "0.2.0" + +from mysqltasks.celery import app as celery_app + +__all__ = ('celery_app',) diff --git a/gvamysql/gvamysql/celery.py b/gvamysql/mysqltasks/celery.py similarity index 56% rename from gvamysql/gvamysql/celery.py rename to gvamysql/mysqltasks/celery.py index 8867263..9c76446 100644 --- a/gvamysql/gvamysql/celery.py +++ b/gvamysql/mysqltasks/celery.py @@ -9,7 +9,7 @@ from __future__ import absolute_import from celery import Celery #: The Celery application -app = Celery('gvamysql') +app = Celery("mysqltasks") -app.config_from_object('gvamysql.settings') -app.autodiscover_tasks(['mysqltasks'], force=True) +app.config_from_object("mysqltasks.settings", namespace="CELERY") +app.autodiscover_tasks(["mysqltasks.tasks"], force=True) diff --git a/gvamysql/gvamysql/settings.py b/gvamysql/mysqltasks/settings.py similarity index 57% rename from gvamysql/gvamysql/settings.py rename to gvamysql/mysqltasks/settings.py index 8063997..b39ad0e 100644 --- a/gvamysql/gvamysql/settings.py +++ b/gvamysql/mysqltasks/settings.py @@ -25,23 +25,21 @@ def get_env_setting(setting): ########## CELERY CONFIGURATION -CELERY_TIMEZONE = 'Europe/Berlin' -CELERY_ENABLE_UTC = True -CELERY_RESULT_BACKEND = 'amqp' +CELERY_BROKER_URL = get_env_setting("GVAMYSQL_BROKER_URL") +CELERY_RESULT_BACKEND = get_env_setting("GVAMYSQL_RESULT_REDIS_URL") CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None -CELERY_ROUTES = ( - 'gvacommon.celeryrouters.GvaRouter', -) -CELERY_ACCEPT_CONTENT = ['json'] -CELERY_TASK_SERIALIZER = 'json' -CELERY_RESULT_SERIALIZER = 'json' -BROKER_URL = get_env_setting('GVAMYSQL_BROKER_URL') +CELERY_ROUTES = ("gvacommon.celeryrouters.GvaRouter",) +CELERY_TIMEZONE = "Europe/Berlin" +CELERY_ENABLE_UTC = True +CELERY_ACCEPT_CONTENT = ["json"] +CELERY_TASK_SERIALIZER = "json" +CELERY_RESULT_SERIALIZER = "json" ########## END CELERY CONFIGURATION ########## GVAMYSQL CONFIGURATION -GVAMYSQL_DBADMIN_HOST = get_env_setting('GVAMYSQL_DBADMIN_HOST') -GVAMYSQL_DBADMIN_PORT = int(get_env_setting('GVAMYSQL_DBADMIN_PORT')) -GVAMYSQL_DBADMIN_USER = get_env_setting('GVAMYSQL_DBADMIN_USER') -GVAMYSQL_DBADMIN_PASSWORD = get_env_setting('GVAMYSQL_DBADMIN_PASSWORD') +GVAMYSQL_DBADMIN_HOST = get_env_setting("GVAMYSQL_DBADMIN_HOST") +GVAMYSQL_DBADMIN_PORT = int(get_env_setting("GVAMYSQL_DBADMIN_PORT")) +GVAMYSQL_DBADMIN_USER = get_env_setting("GVAMYSQL_DBADMIN_USER") +GVAMYSQL_DBADMIN_PASSWORD = get_env_setting("GVAMYSQL_DBADMIN_PASSWORD") ########## END GVAMYSQL CONFIGURATION diff --git a/gvamysql/mysqltasks/tasks.py b/gvamysql/mysqltasks/tasks.py index e40522b..d8dcc26 100644 --- a/gvamysql/mysqltasks/tasks.py +++ b/gvamysql/mysqltasks/tasks.py @@ -2,12 +2,10 @@ This module defines Celery_ tasks to manage MySQL users and databases. """ -from __future__ import absolute_import, unicode_literals - from celery import shared_task from celery.utils.log import get_task_logger -from gvamysql import settings +from mysqltasks import settings from MySQLdb import connect diff --git a/gvamysql/setup.cfg b/gvamysql/setup.cfg new file mode 100644 index 0000000..ff713bb --- /dev/null +++ b/gvamysql/setup.cfg @@ -0,0 +1,18 @@ +[coverage:run] +source = gvacommon,mysqltasks +branch = True +omit = */tests/*.py,*/tests.py +relative_files = True + +[coverage:report] +show_missing = True + +[coverage:html] +directory = ../coverage-report + +[isort] +multi_line_output = 3 +line_length = 88 +known_third_party = celery,MySQLdb +include_trailing_comma = True +sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER