From 034e4237fe392f040b10c4c7c83957d3439b77a0 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 1 Jul 2020 16:11:00 +0200 Subject: [PATCH 1/5] removed duplicated function --- pype/modules/ftrack/lib/custom_db_connector.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/pype/modules/ftrack/lib/custom_db_connector.py b/pype/modules/ftrack/lib/custom_db_connector.py index a734b3f80a..a55c0b15dd 100644 --- a/pype/modules/ftrack/lib/custom_db_connector.py +++ b/pype/modules/ftrack/lib/custom_db_connector.py @@ -49,17 +49,6 @@ def check_active_table(func): return decorated -def check_active_table(func): - """Handling auto reconnect in 3 retry times""" - @functools.wraps(func) - def decorated(obj, *args, **kwargs): - if not obj.active_table: - raise NotActiveTable("Active table is not set. (This is bug)") - return func(obj, *args, **kwargs) - - return decorated - - class DbConnector: log = logging.getLogger(__name__) timeout = 1000 From 4f0f943d45e44c894dcd01050058e4907caf1832 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 1 Jul 2020 16:11:50 +0200 Subject: [PATCH 2/5] make `database_name` as required argument in CustomDbConnector --- pype/modules/ftrack/lib/custom_db_connector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/modules/ftrack/lib/custom_db_connector.py b/pype/modules/ftrack/lib/custom_db_connector.py index a55c0b15dd..60469159df 100644 --- a/pype/modules/ftrack/lib/custom_db_connector.py +++ b/pype/modules/ftrack/lib/custom_db_connector.py @@ -54,7 +54,7 @@ class DbConnector: timeout = 1000 def __init__( - self, uri, port=None, database_name=None, table_name=None + self, uri, database_name, port=None, table_name=None ): self._mongo_client = None self._sentry_client = None From 748da390a5c3360d0048f2b3c2619cd6cc381334 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 1 Jul 2020 16:12:21 +0200 Subject: [PATCH 3/5] removed check of database_name in components --- pype/modules/ftrack/lib/custom_db_connector.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pype/modules/ftrack/lib/custom_db_connector.py b/pype/modules/ftrack/lib/custom_db_connector.py index 60469159df..05dfc0febb 100644 --- a/pype/modules/ftrack/lib/custom_db_connector.py +++ b/pype/modules/ftrack/lib/custom_db_connector.py @@ -67,9 +67,6 @@ class DbConnector: if port is None: port = components.get("port") - if database_name is None: - database_name = components.get("database") - if database_name is None: raise ValueError( "Database is not defined for connection. {}".format(uri) From a7196bce9e7773a411f89ad86bc8ddc11dccb52f Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 1 Jul 2020 16:16:10 +0200 Subject: [PATCH 4/5] renamed class `DbConnector` to `CustomDbConnector` in `custom_db_connector` and fixed argument order --- pype/modules/ftrack/ftrack_server/lib.py | 6 +++--- pype/modules/ftrack/ftrack_server/sub_event_storer.py | 4 ++-- pype/modules/ftrack/lib/custom_db_connector.py | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pype/modules/ftrack/ftrack_server/lib.py b/pype/modules/ftrack/ftrack_server/lib.py index 8377187ebe..bd02daebb1 100644 --- a/pype/modules/ftrack/ftrack_server/lib.py +++ b/pype/modules/ftrack/ftrack_server/lib.py @@ -26,7 +26,7 @@ from pype.api import ( compose_url ) -from pype.modules.ftrack.lib.custom_db_connector import DbConnector +from pype.modules.ftrack.lib.custom_db_connector import CustomDbConnector TOPIC_STATUS_SERVER = "pype.event.server.status" @@ -166,10 +166,10 @@ class ProcessEventHub(SocketBaseEventHub): pypelog = Logger().get_logger("Session Processor") def __init__(self, *args, **kwargs): - self.dbcon = DbConnector( + self.dbcon = CustomDbConnector( self.uri, - self.port, self.database, + self.port, self.table_name ) super(ProcessEventHub, self).__init__(*args, **kwargs) diff --git a/pype/modules/ftrack/ftrack_server/sub_event_storer.py b/pype/modules/ftrack/ftrack_server/sub_event_storer.py index 61b9aaf2c8..1635f6cea3 100644 --- a/pype/modules/ftrack/ftrack_server/sub_event_storer.py +++ b/pype/modules/ftrack/ftrack_server/sub_event_storer.py @@ -12,7 +12,7 @@ from pype.modules.ftrack.ftrack_server.lib import ( get_ftrack_event_mongo_info, TOPIC_STATUS_SERVER, TOPIC_STATUS_SERVER_RESULT ) -from pype.modules.ftrack.lib.custom_db_connector import DbConnector +from pype.modules.ftrack.lib.custom_db_connector import CustomDbConnector from pype.api import Logger log = Logger().get_logger("Event storer") @@ -24,7 +24,7 @@ class SessionFactory: uri, port, database, table_name = get_ftrack_event_mongo_info() -dbcon = DbConnector(uri, port, database, table_name) +dbcon = CustomDbConnector(uri, database, port, table_name) # ignore_topics = ["ftrack.meta.connected"] ignore_topics = [] diff --git a/pype/modules/ftrack/lib/custom_db_connector.py b/pype/modules/ftrack/lib/custom_db_connector.py index 05dfc0febb..a93eaeb08b 100644 --- a/pype/modules/ftrack/lib/custom_db_connector.py +++ b/pype/modules/ftrack/lib/custom_db_connector.py @@ -40,7 +40,7 @@ def auto_reconnect(func): def check_active_table(func): - """Check if DbConnector has active table before db method is called""" + """Check if CustomDbConnector has active collection.""" @functools.wraps(func) def decorated(obj, *args, **kwargs): if not obj.active_table: @@ -49,7 +49,7 @@ def check_active_table(func): return decorated -class DbConnector: +class CustomDbConnector: log = logging.getLogger(__name__) timeout = 1000 @@ -85,7 +85,7 @@ class DbConnector: # not all methods of PyMongo database are implemented with this it is # possible to use them too try: - return super(DbConnector, self).__getattribute__(attr) + return super(CustomDbConnector, self).__getattribute__(attr) except AttributeError: if self.active_table is None: raise NotActiveTable() From 7dba84dea1ad8754437d8de9b4f93549f4781cd6 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 1 Jul 2020 16:19:24 +0200 Subject: [PATCH 5/5] do not compose mongo url for ftrack events with database name and collection --- pype/modules/ftrack/ftrack_server/lib.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pype/modules/ftrack/ftrack_server/lib.py b/pype/modules/ftrack/ftrack_server/lib.py index bd02daebb1..acf31ab437 100644 --- a/pype/modules/ftrack/ftrack_server/lib.py +++ b/pype/modules/ftrack/ftrack_server/lib.py @@ -44,15 +44,8 @@ def get_ftrack_event_mongo_info(): mongo_url = os.environ.get("FTRACK_EVENTS_MONGO_URL") if mongo_url is not None: components = decompose_url(mongo_url) - _used_ftrack_url = True else: components = get_default_components() - _used_ftrack_url = False - - if not _used_ftrack_url or components["database"] is None: - components["database"] = database_name - - components.pop("collection", None) uri = compose_url(**components)