generic_fetcher.py 1020 B

12345678910111213141516171819202122232425
  1. # -*- coding: utf-8 -*-
  2. from app.visa_free_config_fetchers.base_fetcher import BaseFetcher
  3. class GenericFetcher(BaseFetcher):
  4. def __init__(self, provider_name):
  5. super(GenericFetcher, self).__init__(provider_name)
  6. def fetch_free_config(self, origin, target, visa_type, vac_code=None):
  7. origin_clean = origin.lower().strip()
  8. target_clean = target.lower().strip()
  9. vac_clean = (vac_code or "").lower().strip()
  10. missions = self.metadata.get("missions", {})
  11. mission_key = "{}_{}".format(origin_clean, target_clean)
  12. if vac_clean and "{}_{}_{}".format(origin_clean, vac_clean, target_clean) in missions:
  13. mission_key = "{}_{}_{}".format(origin_clean, vac_clean, target_clean)
  14. mission_data = missions.get(mission_key, {})
  15. if not mission_data:
  16. for k, v in missions.items():
  17. if k.endswith("_{}".format(target_clean)):
  18. mission_data = v
  19. break
  20. return mission_data