Ńň
éĐJc           @   s@   d  d k  l Z l Z d  d k l Z d e f d     YZ d S(   i˙˙˙˙(   t
   ImageFieldt   signals(   t
   dispatchert   CustomImageFieldc           B   s5   e  Z d  Z d   Z d   Z d d  Z d   Z RS(   s  Allows model instance to specify upload_to dynamically.

    Model class should have a method like:

        def get_upload_to(self, attname):
            return 'path/to/%d' % self.id

    Based on: http://code.djangoproject.com/wiki/CustomUploadAndFilters
    c         O   se   d | j o d | d <n | i  d t  |  _ d | j o | d =n t t |   i | |   d  S(   Nt	   upload_tot   dummyt   prime_upload(   t   gett   FalseR   t   superR   t   __init__(   t   selft   argst   kwargs(    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyR
      s    c         C   sc   t  t |   i | |  |  i o  t i |  i t i d | n t i |  i t i	 d | d S(   s-   Hook up events so we can access the instance.t   senderN(
   R	   R   t   contribute_to_classR   R   t   connectt   _get_upload_toR   t	   post_initt   pre_save(   R   t   clst   name(    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyR      s    
 c         C   s-   t  | d  o | i |  i  |  _ n d S(   s4   Get dynamic upload_to value from the model instance.t   get_upload_toN(   t   hasattrR   t   attnameR   (   R   t   instance(    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyR      s    c         C   s   d S(   s   Required by Django for ORM.s   varchar(100)(    (   R   (    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyt   db_type"   s    N(   t   __name__t
   __module__t   __doc__R
   R   t   NoneR   R   (    (    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyR      s
   			N(   t   django.db.modelsR    R   t   django.dispatchR   R   (    (    (    s@   /var/www/python/geolocpartenaire/admingeoloc/CustomImageField.pyt   <module>   s   