Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó

EYc@s÷dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddlm
Z
ddlmZddlZddl
jjZe
jdƒZe
jdƒZejejejejejejejejejejejejgZ ej!fej"e#dƒe%e&fZ'e(e)dd	d
d„Z*ej+Z+ej,Z,e*d„Z-e*d
d
„Z.d„Z/d
d„Z0d
d„Z1yddl2Z2Wne3k
rÃn0Xe2j4j5e6de7de8dfƒe2j9e6ƒdS(s¼
JSON related utilities.

This module provides a few things:

#. A handy function for getting an object down to something that can be
   JSON serialized.  See :func:`.to_primitive`.
#. Wrappers around :func:`.loads` and :func:`.dumps`. The :func:`.dumps`
   wrapper will automatically use :func:`.to_primitive` for you if needed.
#. This sets up ``anyjson`` to use the :func:`.loads` and :func:`.dumps`
   wrappers if ``anyjson`` is available.
iÿÿÿÿN(tencodeutils(timportutils(t	timeutilst	ipaddresstnetaddriisutf-8cs»tˆtƒrˆStˆtjƒrGtjrCˆjd|ƒ‰nˆStˆtjƒr{tjt	ˆj
ƒƒd Œ‰ntˆtjƒrª|r£ˆjtj
ƒSˆSntˆtjƒrÉtjˆƒStrîtˆtjƒrîtjˆƒStrtˆtjtjfƒrtjˆƒStˆƒtjkr>tjˆƒSt‡fd†tDƒƒrgtjˆƒStˆddƒdkrƒdS||kr“dSytjtd|d|d	|d
|d|ƒ‰tˆt ƒrì‡fd†ˆj!ƒDƒSt"ˆdƒrˆt ˆj#ƒƒd	|d
ƒSt"ˆdƒrJˆt ˆj!ƒƒd	|d
ƒSt"ˆdƒrlt$t%ˆˆƒƒS|r˜t"ˆdƒr˜ˆˆj&d	|d
ƒSWnt'k
r¶tjˆƒSXˆS(skConvert a complex object into primitives.

    Handy for JSON serialization. We can optionally handle instances,
    but since this is a recursive function, we could have cyclical
    data structures.

    To handle cyclical data structures we could track the actual objects
    visited in a set, but not all objects are hashable. Instead we just
    track the depth of the object inspections and don't go too deep.

    Therefore, ``convert_instances=True`` is lossy ... be aware.

    .. versionchanged:: 1.3
       Support UUID encoding.

    .. versionchanged:: 1.6
       Dictionary keys are now also encoded.
    tencodingic3s|]}|ˆƒVqdS(N((t.0ttest(tvalue(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pys	<genexpr>€st
__module__tmoxtmocktconvert_instancestconvert_datetimetlevelt	max_depthcs+i|]!\}}ˆ|ƒˆ|ƒ“qS(((Rtktv(t	recursive(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pys
<dictcomp>˜s	t	iteritemsititemst__iter__t__dict__N((t
isinstancet
_simple_typestsixtbinary_typetPY3tdecodet	xmlrpclibtDateTimetdatetimettuplet	timetupletstrftimeRtPERFECT_TIME_FORMATtuuidtUUIDt	text_typeRt	IPAddressRtIPv4AddresstIPv6Addressttypet	itertoolstcounttanyt_nasty_type_teststgetattrtNonet	functoolstpartialtto_primitivetdictRthasattrRtlisttmapRt	TypeError(RRR
RRR((RRsQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyR3;sb!	"




	  
cKstj|d||S(sSerialize ``obj`` to a JSON formatted ``str``.

    :param obj: object to be serialized
    :param default: function that returns a serializable version of an object,
                    :func:`to_primitive` is used by default.
    :param kwargs: extra named parameters, please see documentation     of `json.dumps <https://docs.python.org/2/library/json.html#basic-usage>`_
    :returns: json formatted string

    Use dump_as_bytes() to ensure that the result type is ``bytes`` on Python 2
    and Python 3.
    tdefault(tjsontdumps(tobjR9tkwargs((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyR;±s
cKs=t|d||}t|tjƒr9|j|ƒ}n|S(sSerialize ``obj`` to a JSON formatted ``bytes``.

    :param obj: object to be serialized
    :param default: function that returns a serializable version of an object,
                    :func:`to_primitive` is used by default.
    :param encoding: encoding used to encode the serialized JSON output
    :param kwargs: extra named parameters, please see documentation     of `json.dumps <https://docs.python.org/2/library/json.html#basic-usage>`_
    :returns: json formatted string

    .. versionadded:: 1.10
    R9(R;RRR&tencode(R<R9RR=t
serialized((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyt
dump_as_bytesÁs
cOs.|jdtƒ}tj||d|||ŽS(s«Serialize ``obj`` as a JSON formatted stream to ``fp``

    :param obj: object to be serialized
    :param fp: a ``.write()``-supporting file-like object
    :param default: function that returns a serializable version of an object,
                    :func:`to_primitive` is used by default.
    :param args: extra arguments, please see documentation     of `json.dump <https://docs.python.org/2/library/json.html#basic-usage>`_
    :param kwargs: extra named parameters, please see documentation     of `json.dump <https://docs.python.org/2/library/json.html#basic-usage>`_

    .. versionchanged:: 1.3
       The *default* parameter now uses :func:`to_primitive` by default.
    R9(tgetR3R:tdump(R<tfptargsR=R9((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyRBÕscKstjtj||ƒ|S(sZDeserialize ``s`` (a ``str`` or ``unicode`` instance containing a JSON

    :param s: string to deserialize
    :param encoding: encoding used to interpret the string
    :param kwargs: extra named parameters, please see documentation     of `json.loads <https://docs.python.org/2/library/json.html#basic-usage>`_
    :returns: python object
    (R:tloadsRtsafe_decode(tsRR=((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyREès	cKstjtj|ƒ|ƒ|S(sPDeserialize ``fp`` to a Python object.

    :param fp: a ``.read()`` -supporting file-like object
    :param encoding: encoding used to interpret the string
    :param kwargs: extra named parameters, please see documentation     of `json.loads <https://docs.python.org/2/library/json.html#basic-usage>`_
    :returns: python object
    (R:tloadtcodecst	getreader(RCRR=((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyRHôs	R;RERH(:t__doc__RIRR1tinspectR+R:R$t
oslo_utilsRRRRtsix.moves.xmlrpc_clienttmovest
xmlrpc_clientRt
try_importRRtismoduletisclasstismethodt
isfunctiontisgeneratorfunctiontisgeneratortistracebacktisframetiscodet	isbuiltint	isroutinet
isabstractR.R&t
integer_typesR*R0tbooltfloatRtFalsetTrueR3tJSONEncodertJSONDecoderR;R@RBRERHtanyjsontImportErrort_modulestappendt__name__R8t
ValueErrortforce_implementation(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_serialization/jsonutils.pyt<module>sH&q