From 2c34f519a397f195b636b0e18af997b2b637d977 Mon Sep 17 00:00:00 2001 From: Dmitriy Belyaev Date: Wed, 26 Dec 2018 13:52:32 +0200 Subject: [PATCH 1/7] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 51a4806..eada086 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '0.1.1' +version = '0.1.2dp' here = os.path.abspath(os.path.dirname(__file__)) From 0a415c0d07fb569830b2f4ba0f1855959f0a90f5 Mon Sep 17 00:00:00 2001 From: Dmitriy Belyaev Date: Tue, 8 Jan 2019 14:49:19 +0200 Subject: [PATCH 2/7] added bridge namespace to setup --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index eada086..87cf32a 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,7 @@ url="https://github.com/openprocurement/", license='Apache License 2.0', packages=find_packages(exclude=['ez_setup']), - namespace_packages=['openprocurement'], + namespace_packages=['openprocurement', 'openprocurement.bridge'], include_package_data=True, zip_safe=False, install_requires=requires, From 9a9831d6a4cfd46cb437e9d5965ca460b7bb3363 Mon Sep 17 00:00:00 2001 From: Taras Kozlovskyi Date: Thu, 10 Jan 2019 17:59:26 +0200 Subject: [PATCH 3/7] Use public_resources_api_server for feeder --- openprocurement/bridge/basic/databridge.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openprocurement/bridge/basic/databridge.py b/openprocurement/bridge/basic/databridge.py index 0a8bcc4..0b947ef 100644 --- a/openprocurement/bridge/basic/databridge.py +++ b/openprocurement/bridge/basic/databridge.py @@ -110,7 +110,7 @@ def __init__(self, config): for entry_point in iter_entry_points('openprocurement.bridge.basic.worker_plugins', self.worker_type): self.worker_greenlet = entry_point.load() - self.feeder = ResourceFeeder(host=self.api_host, + self.feeder = ResourceFeeder(host=self.config.get('public_resources_api_server', self.api_host), version=self.api_version, key='', resource=self.config['resource'], extra_params=self.extra_params, From f23210d2524a80ea7345eaa1134121bdfdfcc325 Mon Sep 17 00:00:00 2001 From: Dmitriy Belyaev Date: Fri, 11 Jan 2019 11:53:17 +0200 Subject: [PATCH 4/7] Prepare release 0.1.3dp --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 87cf32a..cb33680 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '0.1.2dp' +version = '0.1.3dp' here = os.path.abspath(os.path.dirname(__file__)) From 0b9e859a2466814ee619a76313a1f9ccab001e90 Mon Sep 17 00:00:00 2001 From: Taras Kozlovskyi Date: Tue, 15 Jan 2019 11:44:07 +0200 Subject: [PATCH 5/7] Added exception loggers for Greenlets --- openprocurement/bridge/basic/databridge.py | 3 +++ openprocurement/bridge/basic/monkey.py | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 openprocurement/bridge/basic/monkey.py diff --git a/openprocurement/bridge/basic/databridge.py b/openprocurement/bridge/basic/databridge.py index 0b947ef..4440855 100644 --- a/openprocurement/bridge/basic/databridge.py +++ b/openprocurement/bridge/basic/databridge.py @@ -1,6 +1,9 @@ # -*- coding: utf-8 -*- from gevent import monkey monkey.patch_all() +from openprocurement.bridge.basic.monkey import patch_traceback +patch_traceback() +# import argparse import logging diff --git a/openprocurement/bridge/basic/monkey.py b/openprocurement/bridge/basic/monkey.py new file mode 100644 index 0000000..2c6c062 --- /dev/null +++ b/openprocurement/bridge/basic/monkey.py @@ -0,0 +1,21 @@ +import traceback +import logging + +exception_logger = logging.getLogger('exception_logger') + + +def print_exception(etype, value, tb, **kwargs): + ''' + Monkey patching for handle Greenlets exception (gevent.hub.Hub#handle_error) + ''' + try: + exception_logger.error(''.join(traceback.format_exception(etype, value, tb))) + except Exception as e: + exception_logger.error('Exception logging error: {}'.format(repr(e))) + return traceback.original_print_exception(etype, value, tb, **kwargs) + + +def patch_traceback(): + traceback.original_print_exception = traceback.print_exception + traceback.print_exception = print_exception + From 8f58b93a8635a716ead9364bbebb9fa9451039f9 Mon Sep 17 00:00:00 2001 From: Dmitriy Belyaev Date: Thu, 17 Jan 2019 15:34:31 +0200 Subject: [PATCH 6/7] release 0.0.12 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index cb33680..b9eaf5a 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '0.1.3dp' +version = '0.1.4dp' here = os.path.abspath(os.path.dirname(__file__)) From 0dd297c62f2561ca7506052fa7d89988974a58eb Mon Sep 17 00:00:00 2001 From: Serhij Andreev Date: Tue, 6 Jul 2021 14:04:15 +0300 Subject: [PATCH 7/7] Fix yaml --- openprocurement/bridge/basic/databridge.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openprocurement/bridge/basic/databridge.py b/openprocurement/bridge/basic/databridge.py index 4440855..c36d7e3 100644 --- a/openprocurement/bridge/basic/databridge.py +++ b/openprocurement/bridge/basic/databridge.py @@ -22,7 +22,7 @@ from openprocurement_client.resources.sync import ResourceFeeder from openprocurement_client.resources.tenders import TendersClient as APIClient from pkg_resources import iter_entry_points -from yaml import load +from yaml import safe_load from openprocurement.bridge.basic.constants import DEFAULTS, PROCUREMENT_METHOD_TYPE_HANDLERS from openprocurement.bridge.basic.utils import DataBridgeConfigError @@ -366,7 +366,7 @@ def main(): params = parser.parse_args() if os.path.isfile(params.config): with open(params.config) as config_file_obj: - config = load(config_file_obj.read()) + config = safe_load(config_file_obj.read()) logging.config.dictConfig(config) BasicDataBridge(config).run()