
    ]j                     <    d dl mZmZ d dl d dlZ G d de      Zy)    )
AppCommandCommandError)*Nc                   ,     e Zd ZdZdZ fdZd Z xZS )Commandz8Generates DRF API Views and Serializers for a Django appz[appname ...]c                 8   t         t        |   |       |j                  ddddd      f |j                  ddd	d
d      f |j                  dddd      f |j                  dddd      f |j                  dddd      f |j                  dddd      f y )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__s     U/root/env/lib/python3.12/site-packages/drf_generators/management/commands/generate.pyr   zCommand.add_arguments   s    gt*62D*8$-!A 	 	C 	D 	D)'1!6 	 	8 	9 	IGL!8 	 	: 	; 	O-#/!< 	 	> 	? 	IGL!6 	 	8 	9 	H6,!5 	 	7 	8    c                 *   |j                   t        d      t        j                  d   dk(  rDd|v r|d   nd}d|v r|d   nd }d|v r|d   nd}d	|v r|d	   }nd}d
|v r|d
   nd}d|v r|d   nd}n@t        j                  d   dk\  r|d   }|d   }|d   }|d	   }|d
   }|d   }nt        d      |dk(  rt	        ||      }	nN|dk(  rt        ||      }	n<|dk(  rt        ||      }	n*|dk(  rt        ||      }	nd|d   z  }
|
dz  }
t        |
      |r|	j                  |      }nc|r|	j                         }nP|r|	j                         }n=|	j                  |      dz   }||	j                         dz   z  }||	j                         z  }t        |       y )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results               r   handle_app_configzCommand.handle_app_config!   s   ##+KLL>>!!(/7(:GG$E*2g*=WX&4F(/6(9GG$qE'%m4#(/7(:GG$E&,&776?UD^^A!#G$EX&FG$E!-0KG$E6?DIJJY(U;Iy (U;Iz!-j%@I~%-j%@I69JJGCCGw''33E:F--/F,,.F33E:TAFi..0477Fi--//Ffr   )__name__
__module____qualname__r   argsr   r5   __classcell__)r   s   @r   r   r      s    EDD8,1r   r   )django.core.management.baser   r   drf_generators.generatorsr&   r    r   r   <module>r>      s    @ ' Lj Lr   