__init__.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. from app.visa_free_config_fetchers.base_fetcher import BaseFetcher
  3. from app.visa_free_config_fetchers.vfs_fetcher import VFSFetcher
  4. from app.visa_free_config_fetchers.bls_fetcher import BLSFetcher
  5. from app.visa_free_config_fetchers.tls_fetcher import TLSFetcher
  6. from app.visa_free_config_fetchers.pol_fetcher import POLFetcher
  7. from app.visa_free_config_fetchers.de_fetcher import DEFetcher
  8. from app.visa_free_config_fetchers.bel_fetcher import BELFetcher
  9. from app.visa_free_config_fetchers.usa_fetcher import USAFetcher
  10. from app.visa_free_config_fetchers.grc_fetcher import GRCFetcher
  11. from app.visa_free_config_fetchers.ita_fetcher import ITAFetcher
  12. from app.visa_free_config_fetchers.generic_fetcher import GenericFetcher
  13. _FETCHER_REGISTRY = {}
  14. def register_fetcher(name, fetcher_cls):
  15. _FETCHER_REGISTRY[name.lower()] = fetcher_cls
  16. def get_fetcher(provider_name):
  17. key = provider_name.lower()
  18. if key in _FETCHER_REGISTRY:
  19. return _FETCHER_REGISTRY[key]()
  20. # Dynamic fallback to GenericFetcher for existing metadata
  21. return GenericFetcher(key)
  22. register_fetcher("vfs", VFSFetcher)
  23. register_fetcher("bls", BLSFetcher)
  24. register_fetcher("tls", TLSFetcher)
  25. register_fetcher("pol", POLFetcher)
  26. register_fetcher("de", DEFetcher)
  27. register_fetcher("bel", BELFetcher)
  28. register_fetcher("usa", USAFetcher)
  29. register_fetcher("grc", GRCFetcher)
  30. register_fetcher("ita", ITAFetcher)