ó
ÞõôXc           @   sŠ   d  Z  d d l m Z d Z d d l Td Z d „  Z d „  Z g  d „ Z	 d „  Z
 e d	 „ Z e d
 „ Z e d „ Z i  e d „ Z d S(   s/   
Created on Jul 15, 2014

@author: Miguel Urco
iÿÿÿÿ(   t   DynamicSerializer(   t   *t   classname__c         C   s   t  |  d ƒ S(   Nt   __dict__(   t   hasattr(   t   myObj(    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt   isObject   s    c         C   s6   t  |  ƒ t  i  ƒ k r t St |  j ƒ  k r2 t St S(   N(   t   typet   Falset   CLASSNAME_KEYt   keyst   True(   t	   thisValue(    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt   isDictFormat   s
    c         C   s   | s |  j  j ƒ  } n  i  } |  j j | t <x[ |  j  j ƒ  D]J \ } } | | k r\ q> n  t | ƒ sx | | | <q> n  t | ƒ | | <q> W| S(   N(   R   R
   t	   __class__t   __name__R	   t   itemsR   t   obj2Dict(   R   t   keyListt   myDictt   thisKeyR   (    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyR      s    
c         C   s    t  |  j ƒ  k r d St |  t  ƒ } | ƒ  } xj |  j ƒ  D]\ \ } } | t  k rZ q< n  t | ƒ s| t | | | ƒ q< n  t | ƒ } t | | | ƒ q< W| S(   s   
    N(   R	   R
   t   Nonet   evalR   R   t   setattrt   dict2Obj(   R   t	   classNameR   R   R   t   myNewObj(    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyR   3   s    	c         C   s   t  | ƒ } | j |  ƒ } | S(   N(   R    t   dumps(   R   t
   serializert
   SERIALIZERt   mySerial(    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt   dict2SerialL   s    c         C   s   t  | ƒ } | j |  ƒ } | S(   N(   R    t   loads(   R   R   R   R   (    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt   serial2DictT   s    c         K   s.   t  | ƒ } t |  |  } t | | ƒ } | S(   N(   R    R   R   (   R   R   t   kwargsR   R   R   (    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt
   obj2Serial\   s    c         C   sN   t  | ƒ } t |  | ƒ } | s1 t | ƒ } | S| j | ƒ t | ƒ } | S(   N(   R    R!   R   t   update(   R   t   metadataDictR   R   t
   myDataDictR   (    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt
   serial2Obje   s    N(   t   __doc__R   R    R   t   DEFAULT_SERIALIZERt   schainpy.model.data.jrodataR	   R   R   R   R   R   R!   R#   R'   (    (    (    sI   /home/erick/workspace/schain_ebocanegra/schainpy/model/serializer/data.pyt   <module>   s   
		
		