o
    ,º]‰  ã                   @   s2   d Z ddlZejdkrddlmZ dS dd„ ZdS )zÈ
For Python < 2.7.2. total_ordering in versions prior to 2.7.2 is buggy.
See http://bugs.python.org/issue10042 for details. For these versions use
code borrowed from Python 2.7.3.

From django.utils.
é    N)é   é   r   )Útotal_orderingc                 C   sì   ddd„ fddd„ fddd„ fgddd„ fd	d
d„ fddd„ fgd	dd„ fddd„ fddd„ fgddd„ fddd„ fd	dd„ fgdœ}t t| ƒƒt |ƒ@ }|sStdƒ‚t|ƒ}|| D ]\}}||vrs||_tt|ƒj|_t| ||ƒ q[| S )z6Class decorator that fills in missing ordering methodsÚ__gt__c                 S   s   | |k p| |k S ©N© ©ÚselfÚotherr   r   úA/usr/lib/python3/dist-packages/future/backports/total_ordering.pyÚ<lambda>   ó    z total_ordering.<locals>.<lambda>Ú__le__c                 S   s   | |k p| |kS r   r   r   r   r   r   r      ó    Ú__ge__c                 S   s
   | |k  S r   r   r   r   r   r   r      ó   
 c                 S   s   | |k p| |kS r   r   r   r   r   r   r      r   Ú__lt__c                 S   s   | |ko| |k S r   r   r   r   r   r   r      r   c                 S   s
   | |k S r   r   r   r   r   r   r      r   c                 S   s   | |kp| |k S r   r   r   r   r   r   r      r   c                 S   s   | |kp| |kS r   r   r   r   r   r   r      r   c                 S   s
   | |k S r   r   r   r   r   r   r      r   c                 S   s   | |k p| |kS r   r   r   r   r   r   r      r   c                 S   s   | |ko| |k S r   r   r   r   r   r   r      r   c                 S   s
   | |k S r   r   r   r   r   r   r      r   )r   r   r   r   z6must define at least one ordering operation: < > <= >=)	ÚsetÚdirÚ
ValueErrorÚmaxÚ__name__ÚgetattrÚintÚ__doc__Úsetattr)ÚclsÚconvertÚrootsÚrootÚopnameÚopfuncr   r   r   r      s8   


þ


þ


þ


þö€r   )r   ÚsysÚversion_infoÚ	functoolsr   r   r   r   r   Ú<module>   s
    
