�
R
`� � �l � d Z eZg d�ZddlZddlmZ ddlZddlZddl Z ddl
Z
ddlZddlZ ddl
mZ ddlmc mZ ddlmZmZ ddlmZmZ ddlmZ d Zd
Z d� Z!d� Z"d
� Z# G d� de$� Z% G d� de%� Z& G d� de%� Z' G d� de(� Z) G d� d� Z* G d� de)� Z+ G d� de+� Z, G d� de)� Z- G d� de)e*� Z. G d � d!e*� Z/ G d"� d#e+e*� Z0 G d$� d%e)� Z1 G d&� d'e)� Z2 G d(� d)e+� Z3 G d*� d+e)� Z4 G d,� d-e)� Z5y# e$ r ddlmZ Y ��w xY w# e$ r ddlmc mZ Y ��w xY w).a� Navigate the resources exposed by a web service.
The wadllib library helps a web client navigate the resources
exposed by a web service. The service defines its resources in a
single WADL file. wadllib parses this file and gives access to the
resources defined inside. The client code can see the capabilities of
a given resource and make the corresponding HTTP requests.
If a request returns a representation of the resource, the client can
bind the string representation to the wadllib Resource object.
)
�Application�Link�Method�NoBoundRepresentationError� Parameter�RepresentationDefinition�ResponseDefinition�Resource�ResourceType� WADLError� N)�quote)� urlencode)�URI�merge)�
_make_unicode�
_string_types)�iso_strptimez xmlns:mapz http://www.w3.org/2001/XMLSchemac � � d| z S )z)Scope a tag name with the WADL namespace.z&{http://research.sun.com/wadl/2006/10}� ��tag_names �5/usr/lib/python3/dist-packages/wadllib/application.py�wadl_tagr H s
� �3�h�>�>� c � � dt | � z S )z#Turn a tag name into an XPath path.z./)r r s r �
wadl_xpathr M s � ��(�8�$�$�$r c �@ � i }| D ] }|��|j |� � |S )z<Merge any number of dictionaries, some of which may be None.)�update)�dicts�final�dicts r �_merge_dictsr" |