# -*- coding: utf-8 -*- from app.visa_free_config_fetchers.base_fetcher import BaseFetcher class GenericFetcher(BaseFetcher): def __init__(self, provider_name): super(GenericFetcher, self).__init__(provider_name) def fetch_free_config(self, origin, target, visa_type, vac_code=None): origin_clean = origin.lower().strip() target_clean = target.lower().strip() vac_clean = (vac_code or "").lower().strip() missions = self.metadata.get("missions", {}) mission_key = "{}_{}".format(origin_clean, target_clean) if vac_clean and "{}_{}_{}".format(origin_clean, vac_clean, target_clean) in missions: mission_key = "{}_{}_{}".format(origin_clean, vac_clean, target_clean) mission_data = missions.get(mission_key, {}) if not mission_data: for k, v in missions.items(): if k.endswith("_{}".format(target_clean)): mission_data = v break return mission_data