+
    Z4iW              
           R t . ROt^ RIHt ^ RIt^ RIHt RtRtRt	Rt
RtR	tR
tRtRtRtRtRtRtRt]! ]]]]	]]
]R7      t]! ]]]]]]]R7      tR tR tR tR tR# )zLaunchpad-specific URIs and convenience lookup functions.

The code in this module lets users say "staging" when they mean
"https://api.staging.launchpad.net/".
)urlparseN)URIzhttps://api.launchpad.net/z$https://api.qastaging.launchpad.net/z"https://api.staging.launchpad.net/zhttps://api.launchpad.test/zhttps://api.dogfood.paddev.net/zhttp://api.launchpad.test:8085/zhttps://launchpad.net/z https://qastaging.launchpad.net/zhttps://staging.launchpad.net/zhttps://launchpad.test/zhttps://dogfood.paddev.net/zhttp://launchpad.test:8085/zhttps://api.edge.launchpad.net/zhttps://edge.launchpad.net/)
productionedge	qastagingstagingdogfooddevtest_devc                    V R8X  d   \         P                  ! R\        4       W9   d	   W,          # \        V 4      w  r#rErgVR8w  d
   VR8w  d   V # \	        RV ,          4      h)z3Dereference what might a URL or an alias for a URL.r   zCLaunchpad edge server no longer exists. Using 'production' instead. z:%s is not a valid URL or an alias for any Launchpad server)warningswarnDeprecationWarningr   
ValueError)rootaliasesschemenetlocpath
parametersqueryfragments   &&      3/usr/lib/python3/dist-packages/launchpadlib/uris.py_dereference_aliasr   L   sj    v~. 	
 } ;C4.7VTu|" G$N     c                <    V \         8X  d   Rp \        V \        4      # )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_roots   &r   lookup_service_rootr    d   s     ((lM::r   c                <    V \         8X  d   Rp \        V \        4      # )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_roots   &r   lookup_web_rootr%   q   s     = h	22r   c                    \        V 4      p \        V 4      pRVn        VP                  P	                  RR^4      Vn        \        VP                  4       4      pV# )z]Turn a service root URL into a web root URL.

This is done heuristically, not with a lookup.
r   zapi.)r    r   r   hostreplacestrensureSlash)r   web_root_urir$   s   &  r   web_root_for_service_rootr,   ~   sU    
 '|4L|$LL$))11&"a@L<++-.HOr   )r    r%   r,   )__doc____all__urllib.parser   r   lazr.urir   LPNET_SERVICE_ROOTQASTAGING_SERVICE_ROOTSTAGING_SERVICE_ROOTDEV_SERVICE_ROOTDOGFOOD_SERVICE_ROOTTEST_DEV_SERVICE_ROOTLPNET_WEB_ROOTQASTAGING_WEB_ROOTSTAGING_WEB_ROOTDEV_WEB_ROOTDOGFOOD_WEB_ROOTTEST_DEV_WEB_ROOTr   r"   dictr   r#   r   r    r%   r,    r   r   <module>r?      s   " "  1 ? ; 0 8 9 )7 3 (0 1 
 6 -!	$  " 	 	0
;
3
r   