Added configuration.py without enhancer configuration
This commit is contained in:
parent
f374b04f9c
commit
0fb3dd2e8e
53
amarillo/app/configuration.py
Normal file
53
amarillo/app/configuration.py
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
# separate file so that it can be imported without initializing FastAPI
|
||||||
|
from app.utils.container import container
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from app.services.agencyconf import AgencyConfService, agency_conf_directory
|
||||||
|
from app.services.agencies import AgencyService
|
||||||
|
from app.services.regions import RegionService
|
||||||
|
|
||||||
|
from app.services.config import config
|
||||||
|
|
||||||
|
from app.utils.utils import assert_folder_exists
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def create_required_directories():
|
||||||
|
logger.info("Checking that necessary directories exist")
|
||||||
|
# Folder to serve GTFS(-RT) from
|
||||||
|
assert_folder_exists('data/gtfs')
|
||||||
|
# Temp folder for GTFS generation
|
||||||
|
assert_folder_exists('data/tmp')
|
||||||
|
|
||||||
|
for agency_id in container['agencies'].agencies:
|
||||||
|
for subdir in ['carpool', 'trash', 'enhanced', 'failed']:
|
||||||
|
foldername = f'data/{subdir}/{agency_id}'
|
||||||
|
logger.debug("Checking that necessary %s exist", foldername)
|
||||||
|
assert_folder_exists(f'data/{subdir}/{agency_id}')
|
||||||
|
|
||||||
|
# Agency configurations
|
||||||
|
assert_folder_exists(agency_conf_directory)
|
||||||
|
|
||||||
|
|
||||||
|
def configure_services():
|
||||||
|
container['agencyconf'] = AgencyConfService()
|
||||||
|
logger.info("Loaded %d agency configuration(s)", len(container['agencyconf'].agency_id_to_agency_conf))
|
||||||
|
|
||||||
|
container['agencies'] = AgencyService()
|
||||||
|
logger.info("Loaded %d agencies", len(container['agencies'].agencies))
|
||||||
|
|
||||||
|
container['regions'] = RegionService()
|
||||||
|
logger.info("Loaded %d regions", len(container['regions'].regions))
|
||||||
|
|
||||||
|
create_required_directories()
|
||||||
|
|
||||||
|
def configure_admin_token():
|
||||||
|
if config.admin_token is None:
|
||||||
|
message = "ADMIN_TOKEN environment variable not set"
|
||||||
|
logger.error(message)
|
||||||
|
raise Exception(message)
|
||||||
|
|
||||||
|
logger.info("ADMIN_TOKEN environment variable found")
|
||||||
|
# Note: the admin token is not persisted. When needed it is accessed
|
||||||
|
# via config.admin_token as above
|
||||||
Loading…
Reference in a new issue