3
F¶[J  ã               @   sB   d dl Z d dlZd dlZd dlmZ ejdƒZG dd„ deƒZdS )é    N)ÚutilÚTc               @   sV   e Zd Zi Zi Zeeje edœdd„ƒZ	dd„ Z
dd„ Zdd	„ Zd
d„ Zdd„ ZdS )ÚModel)ÚclsÚreturnc             C   s   t j|| ƒS )zReturns the dict as a model)r   Zdeserialize_model)r   Údikt© r   úA/var/tmp/python-flask-server/swagger_server/models/base_model_.pyÚ	from_dict   s    zModel.from_dictc             C   s”   i }xŠt j| jƒD ]z\}}t| |ƒ}t|tƒrFttdd„ |ƒƒ||< qt|dƒr^|jƒ ||< qt|t	ƒr„t	tdd„ |j
ƒ ƒƒ||< q|||< qW |S )zEReturns the model properties as a dict

        :rtype: dict
        c             S   s   t | dƒr| jƒ S | S )NÚto_dict)Úhasattrr   )Úxr   r   r	   Ú<lambda>$   s    zModel.to_dict.<locals>.<lambda>r   c             S   s&   t | d dƒr"| d | d jƒ fS | S )Né   r   r   )r   r   )Úitemr   r   r	   r   +   s    )ÚsixÚ	iteritemsÚswagger_typesÚgetattrÚ
isinstanceÚlistÚmapr   r   ÚdictÚitems)ÚselfÚresultÚattrÚ_Úvaluer   r   r	   r      s    



zModel.to_dictc             C   s   t j| jƒ ƒS )zLReturns the string representation of the model

        :rtype: str
        )ÚpprintÚpformatr   )r   r   r   r	   Úto_str4   s    zModel.to_strc             C   s   | j ƒ S )zFor `print` and `pprint`)r!   )r   r   r   r	   Ú__repr__;   s    zModel.__repr__c             C   s   | j |j kS )z&Returns true if both objects are equal)Ú__dict__)r   Úotherr   r   r	   Ú__eq__?   s    zModel.__eq__c             C   s
   | |k S )z*Returns true if both objects are not equalr   )r   r$   r   r   r	   Ú__ne__C   s    zModel.__ne__N)Ú__name__Ú
__module__Ú__qualname__r   Úattribute_mapÚclassmethodÚtypingÚTyper   r
   r   r!   r"   r%   r&   r   r   r   r	   r      s   r   )	r   r   r,   Úswagger_serverr   ÚTypeVarr   Úobjectr   r   r   r   r	   Ú<module>   s
   
