Esempio n. 1
0
def create_autocomplete_job_with_data_sets():
    with app.app_context():
        instance = models.Instance('fr')
        models.db.session.add(instance)
        models.db.session.commit()

        job = models.Job()
        job.instance = instance

        # we also create 2 datasets, one for fusio, one for autocomplete_cosmogony
        for i, dset_type in enumerate(['fusio', 'cosmogony']):
            dataset = models.DataSet()
            dataset.type = dset_type
            dataset.family_type = dataset.type
            if dataset.type == 'fusio':
                dataset.family_type = 'pt'
                dataset.name = '/path/to/dataset_{}'.format(i)
            else:
                dataset.family_type = 'autocomplete_cosmogony'
                dataset.name = '/path/to/dataset_cosmogony/cosmogony_europe.jsonl.gz'

            models.db.session.add(dataset)

            job.data_sets.append(dataset)

        job.state = 'done'
        models.db.session.add(job)
        models.db.session.commit()
Esempio n. 2
0
def create_instance():
    with app.app_context():
        instance = models.Instance('fr')
        instance.import_ntfs_in_mimir = True
        models.db.session.add(instance)
        models.db.session.commit()
        return instance.id
Esempio n. 3
0
def create_instance():
    with app.app_context():
        instance = models.Instance('fr')
        models.db.session.add(instance)
        models.db.session.commit()

        return instance.id
Esempio n. 4
0
def create_instance():
    with app.app_context():
        instance = models.Instance('test_instance')
        models.db.session.add(instance)
        models.db.session.commit()

        yield instance.id

        models.db.session.delete(instance)
def create_instance():
    job_list = []
    with app.app_context():
        job_list.append(create_job_with_poi_only())
        instance = models.Instance(name='fr_instance', jobs=job_list)
        models.db.session.add(instance)
        models.db.session.commit()

        return instance.name
Esempio n. 6
0
def create_poi_type_json_obj(poi_types_json):
    with app.app_context():
        instance = models.Instance('fr')
        models.db.session.add(instance)
        poi_type_json_obj = models.PoiTypeJson(json.dumps(poi_types_json), instance)
        models.db.session.add(poi_type_json_obj)
        models.db.session.commit()

        return poi_type_json_obj
Esempio n. 7
0
def create_instance_fr():
    with app.app_context():
        navitia_instance = models.Instance('fr')
        autocomplete_instance = models.AutocompleteParameter(
            name='fr', street='OSM', address='BANO', poi='OSM', admin='OSM', admin_level=[8]
        )
        models.db.session.add(navitia_instance)
        models.db.session.add(autocomplete_instance)
        models.db.session.commit()
Esempio n. 8
0
def create_instance(name):
    job_list = []
    with app.app_context():
        job_list = create_job_with_all_states()
        instance = models.Instance(name=name, jobs=job_list)
        models.db.session.add(instance)
        models.db.session.commit()

        return instance.name
Esempio n. 9
0
def default_ridesharing_service_config():
    with app.app_context():
        ridesharing0 = models.RidesharingService('TestCovoiturage0')
        ridesharing0.klass = 'jormungandr.scenarios.ridesharing.instant_system.InstantSystem'
        ridesharing0.args = {
            'service_url': 'http://bob.com',
            "rating_scale_min": 0,
            "crowfly_radius": 500,
            "rating_scale_max": 5,
            "api_key": "aaa",
            "network": "Test Covoiturage",
            "feed_publisher": {
                "url": "url",
                "id": "test-coverage",
                "license": "Private",
                "name": "Test ABC - TEST",
            },
        }
        ridesharing1 = models.RidesharingService('TestCovoiturage1')
        ridesharing1.klass = 'jormungandr.scenarios.ridesharing.instant_system.InstantSystem'
        ridesharing1.args = {
            'service_url': 'http://bob.com',
            "rating_scale_min": 0,
            "crowfly_radius": 500,
            "rating_scale_max": 5,
            "api_key": "aaa",
            "network": "Test Covoiturage",
            "feed_publisher": {
                "url": "url",
                "id": "test-coverage",
                "license": "Private",
                "name": "Test ABC - TEST",
            },
        }
        models.db.session.add(ridesharing0)
        models.db.session.add(ridesharing1)
        models.db.session.commit()
        # refresh and detach the objets from the db before returning them
        models.db.session.refresh(ridesharing0)
        models.db.session.refresh(ridesharing1)
        models.db.session.expunge(ridesharing0)
        models.db.session.expunge(ridesharing1)
        # Create instance
        instance = models.Instance('default')
        models.db.session.add(instance)
        models.db.session.commit()
        models.db.session.refresh(instance)
        models.db.session.expunge(instance)

        yield instance, ridesharing0, ridesharing1

        models.db.session.delete(instance)
        models.db.session.delete(ridesharing0)
        models.db.session.delete(ridesharing1)
        models.db.session.commit()
Esempio n. 10
0
def scan_instances():
    for instance_file in glob.glob(current_app.config['INSTANCES_DIR'] \
            + '/*.ini'):
        instance_name = os.path.basename(instance_file).replace('.ini', '')
        instance = models.Instance.query.filter_by(name=instance_name).first()
        if not instance:
            current_app.logger.info('new instances detected: %s',
                                    instance_name)
            instance = models.Instance(name=instance_name)
            models.db.session.add(instance)
            models.db.session.commit()
def create_tyr_update_jobs():
    with app.app_context():
        job_list = []
        job_list.append(create_job_with_all_dataset_types())
        job_list.append(create_job_with_poi_only())

        # Create instance to which the jobs are linked
        instance = models.Instance(name='tyr_instance', jobs=job_list)
        models.db.session.add(instance)
        models.db.session.commit()

        return instance.name
Esempio n. 12
0
def scan_instances():
    for instance_file in glob.glob(current_app.config['INSTANCES_DIR'] + '/*.ini'):
        instance_name = os.path.basename(instance_file).replace('.ini', '')
        instance = models.Instance.query_existing().filter_by(name=instance_name).first()
        if not instance:
            current_app.logger.info('new instances detected: %s', instance_name)
            instance = models.Instance(name=instance_name)
            instance_config = load_instance_config(instance.name)
            instance.is_free = instance_config.is_free
            # by default we will consider an free instance as an opendata one
            instance.is_open_data = instance_config.is_free

            models.db.session.add(instance)
            models.db.session.commit()
Esempio n. 13
0
def default_external_service_config():
    with app.app_context():
        external_service_1 = models.ExternalService('forseti_free_floatings')
        external_service_1.klass = "jormungandr.external_services.free_floating.FreeFloatingProvider"
        external_service_1.navitia_service = "free_floatings"
        external_service_1.args = {
            "service_url": "http://my_external_service.com",
            "timeout": 10,
            "circuit_breaker_max_fail": 4,
            "circuit_breaker_reset_timeout": 60,
        }
        external_service_2 = models.ExternalService(
            'forseti_vehicle_occupancies')
        external_service_2.klass = "jormungandr.external_services.vehicle_occupancies.VehicleOccupancyProvider"
        external_service_2.navitia_service = "vehicle_occupancies"
        external_service_2.args = {
            "service_url": "http://my_external_service.com",
            "timeout": 5,
            "circuit_breaker_max_fail": 2,
            "circuit_breaker_reset_timeout": 30,
        }
        models.db.session.add(external_service_1)
        models.db.session.add(external_service_2)
        models.db.session.commit()
        # refresh and detach the objets from the db before returning them
        models.db.session.refresh(external_service_1)
        models.db.session.refresh(external_service_2)
        models.db.session.expunge(external_service_1)
        models.db.session.expunge(external_service_2)
        # Create instance
        instance = models.Instance('default')
        models.db.session.add(instance)
        models.db.session.commit()
        models.db.session.refresh(instance)
        models.db.session.expunge(instance)

        yield instance, external_service_1, external_service_2

        models.db.session.delete(instance)
        models.db.session.delete(external_service_1)
        models.db.session.delete(external_service_2)
        models.db.session.commit()
Esempio n. 14
0
def create_basic_job_with_data_sets():
    with app.app_context():
        instance = models.Instance('fr')
        models.db.session.add(instance)
        models.db.session.commit()

        job = models.Job()
        job.instance = instance

        # we also create 2 datasets, one for fusio, one for synonym
        for i, dset_type in enumerate(['fusio', 'synonym']):
            dataset = models.DataSet()
            dataset.type = dset_type
            dataset.family_type = dataset.type
            if dataset.type == 'fusio':
                dataset.family_type = 'pt'
            dataset.name = '/path/to/dataset_{}'.format(i)
            models.db.session.add(dataset)

            job.data_sets.append(dataset)

        job.state = 'done'
        models.db.session.add(job)
        models.db.session.commit()
Esempio n. 15
0
def create_instance(name, jobs):
    instance = models.Instance(name=name, jobs=jobs)
    models.db.session.add(instance)
    models.db.session.commit()
Esempio n. 16
0
def default_external_service_config():
    with app.app_context():
        external_service_1 = models.ExternalService('forseti_free_floatings')
        external_service_1.klass = "jormungandr.external_services.free_floating.FreeFloatingProvider"
        external_service_1.navitia_service = "free_floatings"
        external_service_1.args = {
            "service_url": "http://my_external_service.com",
            "timeout": 10,
            "circuit_breaker_max_fail": 4,
            "circuit_breaker_reset_timeout": 60,
        }
        external_service_2 = models.ExternalService(
            'forseti_vehicle_occupancies')
        external_service_2.klass = "jormungandr.external_services.vehicle_occupancies.VehicleOccupancyProvider"
        external_service_2.navitia_service = "vehicle_occupancies"
        external_service_2.args = {
            "service_url": "http://my_external_service.com",
            "timeout": 5,
            "circuit_breaker_max_fail": 2,
            "circuit_breaker_reset_timeout": 30,
        }
        external_service_3 = models.ExternalService('Timeo_Horizon')
        external_service_3.klass = "jormungandr.realtime_schedule.timeo.Timeo"
        external_service_3.navitia_service = "realtime_proxies"
        external_service_3.args = {
            "service_url": "http://my_external_service.com",
            "timeout": 5,
            "timezone": "aa",
            "destination_id_tag": "",
            "service_args": {
                'serviceID': "10",
                'EntityID': "658",
                'Media': "spec_navit_comp"
            },
        }
        external_service_4 = models.ExternalService('gtfs_rt_sch')
        external_service_4.klass = "bob"
        external_service_4.navitia_service = "vehicle_positions"
        external_service_4.args = {
            "service_url": "http://vehicle_positions.com",
            "timeout": 5,
            "timezone": "aa"
        }

        models.db.session.add(external_service_1)
        models.db.session.add(external_service_2)
        models.db.session.add(external_service_3)
        models.db.session.add(external_service_4)
        models.db.session.commit()
        # refresh and detach the objets from the db before returning them
        models.db.session.refresh(external_service_1)
        models.db.session.refresh(external_service_2)
        models.db.session.refresh(external_service_3)
        models.db.session.refresh(external_service_4)

        models.db.session.expunge(external_service_1)
        models.db.session.expunge(external_service_2)
        models.db.session.expunge(external_service_3)
        models.db.session.expunge(external_service_4)
        # Create instance
        instance = models.Instance('default')
        models.db.session.add(instance)
        models.db.session.commit()
        models.db.session.refresh(instance)
        models.db.session.expunge(instance)

        yield instance, external_service_1, external_service_2, external_service_3, external_service_4

        models.db.session.delete(instance)
        models.db.session.delete(external_service_1)
        models.db.session.delete(external_service_2)
        models.db.session.delete(external_service_3)
        models.db.session.delete(external_service_4)
        models.db.session.commit()