def clients_initialize(self): self.client = TendersClient( self.config_get('api_token'), host_url=self.api_server, api_version=self.api_version, ) self.contracting_client_init() self.tenders_sync_client = TendersClientSync('', host_url=self.ro_api_server, api_version=self.api_version, )
def __init__(self, config): super(EdgeDataBridge, self).__init__() self.config = config self.api_host = self.config_get('tenders_api_server') self.api_version = self.config_get('tenders_api_version') self.client = TendersClient(host_url=self.api_host, api_version=self.api_version, key='') self.couch_url = urljoin(self.config_get('couch_url'), self.config_get('public_db')) self.db = Database(self.couch_url, session=Session(retry_delays=range(10)))
def __init__(self, config): super(Oracle, self).__init__() self.config = config self.api_host = self.config_get('tenders_api_server') self.api_version = self.config_get('tenders_api_version') self.retrievers_params = self.config_get('retrievers_params') self.db = DB try: self.client = TendersClient(host_url=self.api_host, api_version=self.api_version, key='') except MissingSchema: raise ConfigError( 'In config dictionary empty or missing \'tenders_api_server\'') except ConnectionError as e: raise e
def validate_credentials_generate(request): try: token = get_access_token(request) except ValueError: raise_operation_error(request, 'No access token was provided.') try: response = TendersClient( request.registry.api_token, host_url=request.registry.api_server, api_version=request.registry.api_version, ).extract_credentials(request.validated['monitoring'].tender_id) except ResourceNotFound: raise_operation_error( request, 'Tender {} not found'.format( request.validated['monitoring'].tender_id)) else: if sha512(token).hexdigest() != response['data']['tender_token']: raise forbidden(request)
def __init__(self, config): super(EdgeDataBridge, self).__init__() self.config = config self.api_host = self.config_get('tenders_api_server') self.api_version = self.config_get('tenders_api_version') self.retrievers_params = self.config_get('retrievers_params') try: self.client = TendersClient(host_url=self.api_host, api_version=self.api_version, key='') except MissingSchema: raise DataBridgeConfigError( 'In config dictionary empty or missing \'tenders_api_server\'') except ConnectionError as e: raise e self.couch_url = urljoin(self.config_get('couch_url'), self.config_get('public_db')) self.db = Database(self.couch_url, session=Session(retry_delays=range(10))) try: self.db.info() except ResourceNotFound: error_message = "Database with name '" + self.config_get( 'public_db') + "' doesn\'t exist" raise DataBridgeConfigError(error_message) except error as e: if e.errno == errno.ECONNREFUSED: raise DataBridgeConfigError( "Connection refused: 'couch_url' is invalid in config dictionary" ) except AttributeError as e: raise DataBridgeConfigError( '\'couch_url\' is missed or empty in config dictionary.') except KeyError as e: if e.message == 'db_name': raise DataBridgeConfigError( '\'public_db\' name is missed or empty in config dictionary' )
def __init__(self, config): super(ContractingDataBridge, self).__init__() self.config = config self.cache_db = Db(self.config.get('main')) self._backend = "redis" self._host = self.config.get('cache_host') self._port = self.config.get('cache_port') or 6379 self._db_name = self.config.get('cache_db_name') or 0 logger.info( "Caching backend: '{}', db name: '{}', host: '{}', port: '{}'". format(self.cache_db._backend, self.cache_db._db_name, self.cache_db._host, self.cache_db._port), extra=journal_context({"MESSAGE_ID": DATABRIDGE_INFO}, {})) self.on_error_delay = self.config_get('on_error_sleep_delay') or 5 self.jobs_watcher_delay = self.config_get('jobs_watcher_delay') or 15 queue_size = self.config_get('buffers_size') or 500 self.full_stack_sync_delay = self.config_get( 'full_stack_sync_delay') or 15 self.empty_stack_sync_delay = self.config_get( 'empty_stack_sync_delay') or 101 api_server = self.config_get('tenders_api_server') api_version = self.config_get('tenders_api_version') ro_api_server = self.config_get( 'public_tenders_api_server') or api_server contracting_api_server = self.config_get('contracting_api_server') contracting_api_version = self.config_get('contracting_api_version') self.tenders_sync_client = TendersClientSync( '', host_url=ro_api_server, api_version=api_version, ) self.client = TendersClient( self.config_get('api_token'), host_url=api_server, api_version=api_version, ) self.contracting_client = ContractingClient( self.config_get('api_token'), host_url=contracting_api_server, api_version=contracting_api_version) self.contracting_client_ro = self.contracting_client if self.config_get('public_tenders_api_server'): if api_server == contracting_api_server and api_version == contracting_api_version: self.contracting_client_ro = ContractingClient( self.config_get('api_token'), host_url=ro_api_server, api_version=api_version) self.initial_sync_point = {} self.initialization_event = gevent.event.Event() self.tenders_queue = Queue(maxsize=queue_size) self.handicap_contracts_queue = Queue(maxsize=queue_size) self.contracts_put_queue = Queue(maxsize=queue_size) self.contracts_retry_put_queue = Queue(maxsize=queue_size) self.basket = {}