o
    X                     @   s4   d dl mZmZ d dlT d dlZG dd deZdS )    )
AppCommandCommandError)*Nc                       s,   e Zd ZdZdZ fddZdd Z  ZS )Commandz8Generates DRF API Views and Serializers for a Django appz[appname ...]c                    s   t t| | |jddddddf |jddd	d
ddf |jdddddf |jdddddf |jdddddf |jdddddf d S )Nz-fz--formatformatviewsetzview format (default: viewset))destdefaulthelpz-dz--depthdepthr   zserialization depthz--forceforce
store_truezforce overwrite files)r   actionr
   z--serializersserializerszgenerate serializers onlyz--viewsviewszgenerate views onlyz--urlsurlszgenerate urls only)superr   add_argumentsadd_argument)selfparser	__class__ m/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/drf_generators/management/commands/generate.pyr      s*   



zCommand.add_argumentsc                 K   s  |j d u r	tdtjd dkrNd|v r|d nd}d|v r"|d nd }d|v r,|d nd}d	|v r7|d	 }nd}d
|v rA|d
 nd}d|v rK|d nd}n$tjd dkrn|d }|d }|d }|d	 }|d
 }|d }ntd|dkr|t||}	n,|dkrt||}	n"|dkrt||}	n|dkrt||}	nd|d  }
|
d7 }
t|
|r|	|}n#|r|		 }n|r|	
 }n|	|d }||		 d 7 }||	
 7 }t| d S )Nz*You must provide an app to generate an API      r   Fr   r   r   r   r   r      z(You must be using Django 1.7, 1.8 or 1.9r   apiviewfunctionmodelviewsetz'%s' is not a valid format. z*(viewset, modelviewset, apiview, function)
)models_moduler   djangoVERSIONViewSetGeneratorAPIViewGeneratorFunctionViewGeneratorModelViewSetGeneratorgenerate_serializersgenerate_viewsgenerate_urlsprint)r   
app_configoptionsr   r   r   r   r   r   	generatormessageresultr   r   r   handle_app_config!   sP   




zCommand.handle_app_config)__name__
__module____qualname__r
   argsr   r2   __classcell__r   r   r   r   r      s
    r   )django.core.management.baser   r   drf_generators.generatorsr#   r   r   r   r   r   <module>   s    