
^Q\	                 @   s   d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m	 Z	 d  d l
 m Z e j d  Z e j d  Z Gd	 d
   d
 e  Z d S)    )with_statementN)settings)BaseCommand)get_template_setting)signalcommandz:\{?#[\s]*?(TODO|FIXME|BUG|HACK|WARNING|NOTE|XXX)[\s:]?(.+)z(.*)#\}(.*)c               @   s4   e  Z d  Z d Z d Z d Z e d d    Z d S)CommandzaShow all annotations like TODO, FIXME, BUG, HACK, WARNING, NOTE or XXX in your py and HTML files.tagz;annotation tag (TODO, FIXME, BUG, HACK, WARNING, NOTE, XXX)c             O   s  d d   t  d d   t j  D } t d g   } | rG | | 7} n  x| D]} | j d d  } xt j |  D]\ } } } x|| D]t}	 t j j |	  d d k r t j j	 | |	  }
 g  } t
 |
 d  #} d } x | j   D] } | d 7} t j |  r t j |  d \ } } t |  d k r[| d j   } | | k s[Pq[n  t j | j    rt j | j    d d } n  | j d | | | j   f  q q W| rt d |
  x | D] } t d |  qWt d  n  Wd  QXq q Wqv WqN Wd  S)Nc             S   s   g  |  ] } |  q S r	   ).0appr	   r	   \/var/www/dbchiro/venv/build/django-extensions/django_extensions/management/commands/notes.py
<listcomp>   s   	 z"Command.handle.<locals>.<listcomp>c             S   s   |  j  d  S)Nzdjango.contrib)
startswith)r   r	   r	   r   <lambda>   s    z Command.handle.<locals>.<lambda>ZDIRS./   .py.htmlrr   z[%3s] %-5s %sz%s:z  * %s )r   r   )filterr   ZINSTALLED_APPSr   replaceoswalkpathsplitextjoinopen	readlinesANNOTATION_REsearchfindalllenupperANNOTATION_END_REstripappendprint)selfargsoptionsZappsZtemplate_dirsZapp_dirtopdirsfilesfnZfpathZannotation_linesfdiliner   msgZsearch_for_tagZ
annotationr	   r	   r   handle   s:    %
 'zCommand.handleN)__name__
__module____qualname__helpr*   labelr   r4   r	   r	   r	   r   r      s   r   )
__future__r   r   reZdjango.confr   Zdjango.core.management.baser   Zdjango_extensions.compatr   Z"django_extensions.management.utilsr   compiler    r%   r   r	   r	   r	   r   <module>   s   