def __init__(self, init_val=(), encoding=UTF8): DataContainer.__init__(self, encoding=encoding) OrderedDict.__init__(self) if isinstance(init_val, KeyValueContainer): self.update(init_val) elif isinstance(init_val, dict): # we lose compatibility with other ordered dict types this way raise TypeError('Undefined order, cannot get items from dict') else: for item in init_val: try: key, val = item except TypeError: raise TypeError(ERR_MSG % init_val) if key in self: raise TypeError(ERR_MSG % init_val) if not isinstance(val, (list, tuple)): raise TypeError(ERR_MSG % init_val) for sub_val in val: if not isinstance(sub_val, (basestring, DataToken)): raise TypeError(ERR_MSG % init_val) self[key] = val
def __init__(self, json_post_data, encoding=UTF8): """ :param json_post_data: The JSON data as string """ DataContainer.__init__(self, encoding=encoding) if not isinstance(json_post_data, basestring): raise TypeError(ERR_MSG % json_post_data) if not JSONContainer.is_json(json_post_data): raise ValueError(ERR_MSG % json_post_data[:50]) self._json = None self._raw_json = None self.parse_json(json_post_data)
def __init__(self, xml_post_data, encoding=UTF8): """ :param xml_post_data: The XML data as string """ DataContainer.__init__(self, encoding=encoding) if not isinstance(xml_post_data, basestring): raise TypeError(ERR_MSG % xml_post_data) if not XMLContainer.is_xml(xml_post_data): raise ValueError(ERR_MSG % xml_post_data[:50]) self._xml = None self._raw_xml = None self.doctype = '' self.parse_xml(xml_post_data)
def __init__(self, init_val=(), encoding=UTF8, relaxed_order=False): DataContainer.__init__(self, encoding=encoding) OrderedDict.__init__(self, relax=relaxed_order) if isinstance(init_val, NonRepeatKeyValueContainer): self.update(init_val) elif isinstance(init_val, dict): # we lose compatibility with other ordered dict types this way raise TypeError('Undefined order, cannot get items from dict') else: for item in init_val: try: key, val = item except TypeError: raise TypeError(ERR_MSG_NO_REP % init_val) if key in self: raise TypeError(ERR_MSG_NO_REP % init_val) if not isinstance(val, (basestring, DataToken)): raise TypeError(ERR_MSG_NO_REP % init_val) self[key] = val
def __init__(self, json_post_data, headers=None, encoding=UTF8): """ :param json_post_data: The JSON data as string :param headers: The headers as dict """ DataContainer.__init__(self, encoding=encoding) if not isinstance(json_post_data, basestring): raise TypeError(ERR_MSG % json_post_data) if not JSONContainer.is_json(json_post_data): raise ValueError(ERR_MSG % json_post_data[:50]) if headers is not None and not isinstance(headers, dict): raise TypeError(ERR_MSG % headers) self._json = None self._raw_json = None self._headers = headers if self._headers is None: self._headers = JSONContainer.DEFAULT_HEADERS.copy() self.parse_json(json_post_data)