o
    /h                     @   sh   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
dZe
dZG dd	 d	eZdS )
    N)settings)BaseCommand)get_template_setting)signalcommandz:\{?#[\s]*?(TODO|FIXME|BUG|HACK|WARNING|NOTE|XXX)[\s:]?(.+)z(.*)#\}(.*)c                       s2   e Zd ZdZ	 dZ fddZedd Z  ZS )CommandzGShow all annotations like TODO, FIXME, BUG, HACK, WARNING, NOTE or XXX z;annotation tag (TODO, FIXME, BUG, HACK, WARNING, NOTE, XXX)c                    s"   t  | |jddddd d S )Nz--tagtagzSearch for specific tags onlyappend)desthelpaction)superadd_argumentsadd_argument)selfparser	__class__ f/var/www/html/env_mimamsha/lib/python3.10/site-packages/django_extensions/management/commands/notes.pyr      s   
zCommand.add_argumentsc                 O   s  dd t dd tjD }tdg }ttd}|r||7 }|D ]}|r*tj||}t|D ]\}}}	|	D ]}
tj	|
d dv rtj||
}g }t
|d	q}d
}| D ]E}|d7 }t|rt|d
 \}}|d r~|ttjtt|d vr~ nt| rt| d
 d
 }|d||| f  qW|r| jd|  |D ]
}| jd|  q| jd W d    n1 sw   Y  q6q/qd S )Nc                 S   s   g | ]}| d dqS )./)replace).0appr   r   r   
<listcomp>   s    
z"Command.handle.<locals>.<listcomp>c                 S   s   |  d S )Nzdjango.contrib)
startswith)r   r   r   r   <lambda>"   s    z Command.handle.<locals>.<lambda>DIRSBASE_DIR   )z.pyz.htmlrr   r   z[%3s] %-5s %sz%s:z  * %s )filterr   INSTALLED_APPSr   getattrospathjoinwalksplitextopen	readlinesANNOTATION_REsearchfindallmapstrupperANNOTATION_END_REstripr   stdoutwrite)r   argsoptionsappstemplate_dirsbase_dirapp_dirtopdirsfilesfnfpathannotation_linesfdiliner   msg
annotationr   r   r   handle   s`   


zCommand.handle)	__name__
__module____qualname__r
   labelr   r   rG   __classcell__r   r   r   r   r      s    r   )r%   redjango.confr   django.core.management.baser   django_extensions.compatr   "django_extensions.management.utilsr   compiler,   r2   r   r   r   r   r   <module>   s   
