| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # -*- coding: utf-8 -*-
- from app.visa_free_config_fetchers.base_fetcher import BaseFetcher
- CITY_MAP = {
- "bjs": "Beijing",
- "can": "Guangzhou",
- "cng": "Chengdu",
- "sha": "Shanghai",
- "she": "Shenyang",
- "wuh": "Wuhan",
- "ckg": "Chongqing",
- "csx": "Changsha",
- "foc": "Fuzhou",
- "hgh": "Hangzhou",
- "kmg": "Kunming",
- "nkg": "Nanjing",
- "szx": "Shenzhen",
- "tna": "Jinan",
- "xiy": "Xi'an",
- "lon": "London",
- "dub": "Dublin",
- }
- class TLSFetcher(BaseFetcher):
- def __init__(self):
- super(TLSFetcher, self).__init__("tls")
- 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:
- mission_key = "{}_{}_{}".format(origin_clean, vac_clean, target_clean)
- mission_data = missions.get(mission_key, {})
- if not mission_data and vac_clean:
- mission_key_no_vac = "{}_{}".format(origin_clean, target_clean)
- mission_data = missions.get(mission_key_no_vac, {})
- if not mission_data:
- vac_upper = vac_clean.upper()
- site_id = "{}{}2{}".format(origin_clean, vac_upper, target_clean)
- tls_url = "https://visas-{}.tlscontact.com/en-us/country/{}/vac/{}".format(
- target_clean, origin_clean, site_id
- )
- location = CITY_MAP.get(vac_clean, vac_clean.capitalize() if vac_clean else "")
- mission_data = {
- "tls_url": tls_url,
- "site_id": site_id,
- "location": location
- }
- return mission_data
|