
    
FZj/                         d Z ddlZddlZddlZddlmZ dZ	 ddlZej                  ej                  z  Z
dZ ej                  d      Zd Zd	 Zd
 Zd Zy# e$ r Y &w xY w)zx
mygeotab.serializers
~~~~~~~~~~~~~~~~~~~~

JSON serialization and deserialization helper objects for the MyGeotab API.
    N   )datesFTz^\d{4}\-\d{2}\-\d{2}c                 |    t         rt        j                  | t              S t	        j                  | t        d      S )N)default),:)r   
separators)use_rapidjson	rapidjsondumpsobject_serializerjsonobjs    VC:\Users\Rodrigo\frota-trucks-cliente\python\Lib\site-packages\mygeotab/serializers.pyjson_serializer      s+    s,=>>::c#4LL    c                 z    t         rt        j                  | t              S t	        j                  | t
              S )N)datetime_mode)object_hook)r
   r   loadsDATETIME_MODEr   object_deserializer)json_strs    r   json_deserializer   $   s(    x}EE::h,?@@r   c                     t        | d      rt        j                  |       S t        j                  j                  |       S )z`Helper to serialize a field into a compatible MyGeotab object.

    :param obj: The object.
    	isoformat)hasattrr   format_iso_datetimer   JSONEncoderr   r   s    r   r   r   *   s8    
 sK ((-- '',,r   c                 L   | j                         D ]b  \  }}t        |t              st        j	                  |      s-	 t        j                  t        j                  |      j                        | |<   d | S # t        t        j                  j                  f$ r || |<   Y w xY w)z[Helper to deserialize a raw result dict into a proper dict.

    :param obj: The dict.
    )items
isinstancestrDATETIME_REGEXsearchr   localize_datetimearrowgetdatetime
ValueErrorparserParserError)r   keyvals      r   r   r   6   s    
 IIKSc3N$9$9#$> 22599S>3J3JKC   J  8 89 Cs   5A88(B#"B#)__doc__r   rer(    r   r
   r   DM_SHIFT_TO_UTC
DM_ISO8601r   ImportErrorcompiler%   r   r   r   r    r   r   <module>r8      s}     	  	--	0D0DDMM 34MA	-=  		s   A AA