def __init__(self, url, network, username, password, operators={'cykleo'}, verify_certificate=False, service_id=None, organization_id=None, timeout=2, feed_publisher=DEFAULT_CYKLEO_FEED_PUBLISHER, **kwargs): self.url = url self.network = network.lower() self.service_id = service_id self.organization_id = organization_id self.verify_certificate = verify_certificate self.username = username self.password = password self.operators = [o.lower() for o in operators] self.timeout = timeout self.breaker = pybreaker.CircuitBreaker( fail_max=kwargs.get('circuit_breaker_max_fail', app.config['CIRCUIT_BREAKER_MAX_CYKLEO_FAIL']), reset_timeout=kwargs.get( 'circuit_breaker_reset_timeout', app.config['CIRCUIT_BREAKER_CYKLEO_TIMEOUT_S']), ) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None
def __init__(self, network, contract, api_key, operators={'jcdecaux'}, timeout=10, feed_publisher=DEFAULT_JCDECAUX_FEED_PUBLISHER, **kwargs): self.network = network.lower() self.contract = contract self.api_key = api_key self.operators = [o.lower() for o in operators] self.timeout = timeout fail_max = kwargs.get('circuit_breaker_max_fail', app.config['CIRCUIT_BREAKER_MAX_JCDECAUX_FAIL']) reset_timeout = kwargs.get( 'circuit_breaker_reset_timeout', app.config['CIRCUIT_BREAKER_JCDECAUX_TIMEOUT_S']) self.breaker = pybreaker.CircuitBreaker(fail_max=fail_max, reset_timeout=reset_timeout) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None self._data = {} self._last_update = datetime.datetime(1970, 1, 1) self._update_interval = 30
def __init__( self, instance, service_url, modes=[], id='geovelo', timeout=10, api_key=None, feed_publisher=DEFAULT_GEOVELO_FEED_PUBLISHER, verify=True, **kwargs ): self.instance = instance self.sn_system_id = id if not is_url(service_url): raise ValueError('service_url {} is not a valid url'.format(service_url)) self.service_url = service_url self.api_key = api_key self.timeout = timeout self.modes = modes self.breaker = pybreaker.CircuitBreaker( fail_max=app.config['CIRCUIT_BREAKER_MAX_GEOVELO_FAIL'], reset_timeout=app.config['CIRCUIT_BREAKER_GEOVELO_TIMEOUT_S'], ) self._feed_publisher = FeedPublisher(**feed_publisher) if feed_publisher else None self.verify = verify
def __init__(self, instance, service_base_url, modes=[], id='here', timeout=10, api_id=None, api_code=None, feed_publisher=DEFAULT_HERE_FEED_PUBLISHER, **kwargs): self.instance = instance self.sn_system_id = id if not service_base_url: raise ValueError('service_url {} is not a valid HERE url'.format( service_base_url)) service_base_url = service_base_url.rstrip('/') self.routing_service_url = 'https://{base_url}/calculateroute.json'.format( base_url=service_base_url) self.matrix_service_url = 'https://matrix.{base_url}/calculatematrix.json'.format( base_url=service_base_url) self.api_id = api_id self.api_code = api_code self.modes = modes self.timeout = timeout self.max_points = 100 # max number of point asked in the routing matrix self.breaker = pybreaker.CircuitBreaker( fail_max=app.config['CIRCUIT_BREAKER_MAX_HERE_FAIL'], reset_timeout=app.config['CIRCUIT_BREAKER_HERE_TIMEOUT_S']) self.log = logging.LoggerAdapter(logging.getLogger(__name__), extra={'streetnetwork_id': id}) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None
def __init__(self, url, operators, dataset, timeout=1, feed_publisher=DEFAULT_STAR_FEED_PUBLISHER, **kwargs): self.ws_service_template = url + '/?dataset={}&refine.idparc={}' self.operators = [o.lower() for o in operators] self.timeout = timeout self.dataset = dataset fail_max = kwargs.get('circuit_breaker_max_fail', app.config['CIRCUIT_BREAKER_MAX_STAR_FAIL']) reset_timeout = kwargs.get( 'circuit_breaker_reset_timeout', app.config['CIRCUIT_BREAKER_STAR_TIMEOUT_S']) self.breaker = pybreaker.CircuitBreaker(fail_max=fail_max, reset_timeout=reset_timeout) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None self.log = logging.LoggerAdapter(logging.getLogger(__name__), extra={'dataset': self.dataset})
def __init__(self, network, operators): super(DummyProvider, self).__init__() self.url = 'Dummy Url' self.network = network.lower() if network else None self.service_id = "Dummy Service" self.organization_id = "Dummy Organization" self.operators = [o.lower() for o in operators or []] self._feed_publisher = FeedPublisher(**DUMMY_FEED_PUBLISHER)
def __init__(self, id_ao, network, url, operators={'keolis'}, timeout=5, feed_publisher=DEFAULT_ATOS_FEED_PUBLISHER, **kwargs): self.id_ao = id_ao self.network = network.lower() self.WS_URL = url self.operators = [o.lower() for o in operators] self.timeout = timeout self._client = None self.breaker = pybreaker.CircuitBreaker(fail_max=kwargs.get('fail_max', 5), reset_timeout=kwargs.get('reset_timeout', 120)) self._feed_publisher = FeedPublisher(**feed_publisher) if feed_publisher else None
def __init__(self, instance, service_base_url, modes=[], id='here', timeout=10, apiKey=None, matrix_type=MatrixType.simple_matrix.value, max_matrix_points=default_values.here_max_matrix_points, realtime_traffic=True, language="english", engine_type="diesel", engine_average_consumption=7, feed_publisher=DEFAULT_HERE_FEED_PUBLISHER, **kwargs): self.instance = instance self.sn_system_id = id if not service_base_url: raise ValueError('service_url {} is not a valid HERE url'.format( service_base_url)) service_base_url = service_base_url.rstrip('/') self.routing_service_url = 'https://{base_url}/calculateroute.json'.format( base_url=service_base_url) self.matrix_service_url = 'https://matrix.{base_url}/calculatematrix.json'.format( base_url=service_base_url) self.log = logging.LoggerAdapter( logging.getLogger(__name__), extra={'streetnetwork_id': text_type(id)}) self.apiKey = apiKey self.modes = modes self.timeout = timeout self.matrix_type = self._get_matrix_type(matrix_type) self.max_matrix_points = self._get_max_matrix_points(max_matrix_points) self.realtime_traffic = self._get_realtime_traffic(realtime_traffic) self.language = self._get_language(language.lower()) self.engine_type = self._get_engine_type(engine_type.lower()) self.engine_average_consumption = engine_average_consumption self.breaker = pybreaker.CircuitBreaker( fail_max=app.config['CIRCUIT_BREAKER_MAX_HERE_FAIL'], reset_timeout=app.config['CIRCUIT_BREAKER_HERE_TIMEOUT_S'], ) self.log.debug( 'Here, load configuration max_matrix_points={} - matrix_type={} - realtime_traffic={} - language={} - engine_type={} - engine_average_consumption={}' .format( self.max_matrix_points, self.matrix_type.value, self.realtime_traffic.value, self.language.value, self.engine_type, self.engine_average_consumption, )) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None
def __init__(self, url, operators, dataset, timeout=1, feed_publisher=DEFAULT_DIVIA_FEED_PUBLISHER, **kwargs): self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None self.provider_name = 'DIVIA' super(DiviaProvider, self).__init__(url, operators, dataset, timeout, **kwargs)
def __init__(self, url, operators, dataset, timeout, feed_publisher, **kwargs): super(CommonCarParkProvider, self).__init__(**kwargs) self.ws_service_template = url + '?dataset={}' self.operators = [o.lower() for o in operators] self.timeout = timeout self.dataset = dataset self._feed_publisher = FeedPublisher(**feed_publisher) if feed_publisher else None self.fail_max = kwargs.get( 'circuit_breaker_max_fail', app.config.get(str('CIRCUIT_BREAKER_MAX_CAR_PARK_FAIL'), 5) ) self.reset_timeout = kwargs.get( 'circuit_breaker_reset_timeout', app.config.get(str('CIRCUIT_BREAKER_CAR_PARK_TIMEOUT_S'), 60) ) self.breaker = pybreaker.CircuitBreaker(fail_max=self.fail_max, reset_timeout=self.reset_timeout) self.log = logging.LoggerAdapter(logging.getLogger(__name__), extra={'dataset': self.dataset}) self.api_key = kwargs.get('api_key')
def __init__(self, instance, service_base_url, modes=[], id='here', timeout=10, apiKey=None, max_matrix_points=MAX_MATRIX_POINTS_VALUES, lapse_time_matrix_to_retry=DEFAULT_LAPSE_TIME_MATRIX_TO_RETRY, language="english", feed_publisher=DEFAULT_HERE_FEED_PUBLISHER, **kwargs): self.instance = instance self.sn_system_id = id if not service_base_url: raise ValueError('service_url {} is not a valid HERE url'.format( service_base_url)) service_base_url = service_base_url.rstrip('/') self.routing_service_url = 'https://{base_url}/routes'.format( base_url=service_base_url) self.matrix_service_url = 'https://matrix.{base_url}/matrix'.format( base_url=service_base_url) self.log = logging.LoggerAdapter( logging.getLogger(__name__), extra={'streetnetwork_id': text_type(id)}) self.apiKey = apiKey self.modes = modes self.timeout = timeout self.max_matrix_points = self._get_max_matrix_points(max_matrix_points) self.lapse_time_matrix_to_retry = self._get_lapse_time_matrix_to_retry( lapse_time_matrix_to_retry) self.language = self._get_language(language.lower()) self.breaker = pybreaker.CircuitBreaker( fail_max=app.config['CIRCUIT_BREAKER_MAX_HERE_FAIL'], reset_timeout=app.config['CIRCUIT_BREAKER_HERE_TIMEOUT_S'], ) self.log.debug( 'Here, load configuration max_matrix_points={} - timeout={} - lapse_time_matrix_to_retry={} - language={}' .format(self.max_matrix_points, self.timeout, self.lapse_time_matrix_to_retry, self.language.value)) self._feed_publisher = FeedPublisher( **feed_publisher) if feed_publisher else None
def feed_publisher(self): return FeedPublisher(id='mock', name='mock provider')
def feed_publisher(self): return FeedPublisher(id='mock_bss', name=self.name, license='the death license', url='bob.com')
def feed_publisher(self): return FeedPublisher(id='mock_car_park', name=self.name, license='license to kill', url='MI.6')