o Ʋa @sdZeZgdZzddlmZWneyddlmZYnwddlZddlm Z dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZee e e e ee edZeeeeeeeedZddZddZddZddZdS)zLaunchpad-specific URIs and convenience lookup functions. The code in this module lets users say "staging" when they mean "https://api.staging.launchpad.net/". )lookup_service_rootlookup_web_rootweb_root_for_service_root)urlparseN)URIzhttps://api.launchpad.net/z$https://api.qastaging.launchpad.net/z"https://api.staging.launchpad.net/zhttps://api.launchpad.test/zhttps://api.dogfood.paddev.net/zhttp://api.launchpad.test:8085/zhttps://launchpad.net/z https://qastaging.launchpad.net/zhttps://staging.launchpad.net/zhttps://launchpad.test/zhttps://dogfood.paddev.net/zhttp://launchpad.test:8085/zhttps://api.edge.launchpad.net/zhttps://edge.launchpad.net/) productionedge qastagingstagingdogfooddevtest_devcCsX|dkr tdt||vr||St|\}}}}}}|dkr&|dkr&|Std|)z3Dereference what might a URL or an alias for a URL.rzCLaunchpad edge server no longer exists. Using 'production' instead.z:%s is not a valid URL or an alias for any Launchpad server)warningswarnDeprecationWarningr ValueError)rootaliasesschemenetlocpath parametersqueryfragmentr3/usr/lib/python3/dist-packages/launchpadlib/uris.py_dereference_aliasOsrcC|tkrd}t|tS)zDereference an alias to a service root. A recognized server alias such as "staging" gets turned into the appropriate URI. A URI gets returned as is. Any other string raises a ValueError. r)EDGE_SERVICE_ROOTr service_roots) service_rootrrrrg rcCr)zDereference an alias to a website root. A recognized server alias such as "staging" gets turned into the appropriate URI. A URI gets returned as is. Any other string raises a ValueError. r) EDGE_WEB_ROOTr web_roots)web_rootrrrrtr"rcCs8t|}t|}d|_|jddd|_t|}|S)zeTurn a service root URL into a web root URL. This is done heuristically, not with a lookup. rzapi.)rrrhostreplacestr ensureSlash)r! web_root_urir%rrrrs  r)__doc__type __metaclass____all__ urllib.parser ImportErrorrlazr.urirLPNET_SERVICE_ROOTQASTAGING_SERVICE_ROOTSTAGING_SERVICE_ROOTDEV_SERVICE_ROOTDOGFOOD_SERVICE_ROOTTEST_DEV_SERVICE_ROOTLPNET_WEB_ROOTQASTAGING_WEB_ROOTSTAGING_WEB_ROOT DEV_WEB_ROOTDOGFOOD_WEB_ROOTTEST_DEV_WEB_ROOTrr#dictr r$rrrrrrrrs\