
    Mg}                     J    S SK r S SKrS SKJr  \" S5       " S S5      5       rg)    N)pluginzfile managec                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)file_manage   zE"
Can manipulate files and folders by deleting, moving, or renaming.
c                    U R                  U5        U R                  U5        U R                  S:X  a  U R                  XR                  5        OWU R                  S:X  a  U R                  XR                  5        O+U R                  S:X  a  U R                  XR                  5        [        R                  R                  U R                  5      (       a  SU l
        g SU l
        g )NdeletemoverenameFT)get_file_directoryget_cmdcmdr   filer	   r
   ospathisfilefolder)selfjarvisss      B/Users/admin/workspace/ai/Jarvis/jarviscli/plugins/file_manager.py__call__file_manage.__call__   s    'V88xKK		*XXIIfii(XX!KK		* 77>>$))$$DKDK    c                 0    UR                  S5      U l        g )Nz8Enter the directory of the file you would like to edit: )inputr   )r   r   s     r   r   file_manage.get_file_directory   s    LL![\	r   c                 Z   / SQU l         SnU(       d  UR                  S5        SnU R                    H(  nUR                  [        U5      S-   U-   5        US-   nM*     UR                  S5      U l        U R                  U R                   ;  a  UR                  S5        OSnU(       d  M  g g )	N)r   r	   r
   FzCommands Avaliable   z. zEnter command to be performed: zInvalid commandT)possibleCmdssaystrr   r   )r   r   cmdValidir   s        r   r   file_manage.get_cmd!   s     9JJ+,A((

3q6D=3./E ) ||$EFDH xxt000

,- (r   c                    U R                   SL a  [        R                  R                  U5      (       a  SnU(       a  UR	                  S5      R                  5       nUS:X  aC   U R                   (       d  [        R                  " U5        O[        R                  " U5         SnOUS:X  a  SnOUR                  S5        U(       a  M  g g UR                  S5        g g !   UR                  S5         NP= f)	NFTzGAre you sure you want to delete this file? This cannot be undone. (y/n)yzInvalid file pathnzInvalid inputzfile does not exist)	r   r   r   existsr   lowerremovermdirr    )r   r   r   yesconfirmations        r   r   file_manage.delete8   s     ;;%ww~~d###)<<0y#z  $A  $A  $CL#s*<#';; "		$ "
 $%, $

?3- c2 

01=   <"JJ':;s   #'C C C2c                     SnU(       a4  UR                  S5      n [        R                  " X$5        SnU(       a  M3  g g !   UR                  S5         N = f)NTz,Where would you like to move this file to? :FzInvalid path)r   shutilr	   r    )r   r   r   path_invaliddests        r   r	   file_manage.move[   sK     << NOD+D'$ l+

>*s	   ? Ac                 0   SnU(       au  UR                  S5      n[        R                  R                  U5      S   n[        R                  R	                  XT5      n [        R
                  " X&5        SnU(       a  Mt  g g !   UR                  S5         N = f)NTz-What would you like to rename this file to? :r   FzInvalid Path)r   r   r   splitjoinr
   r    )r   r   r   r1   new_namerootnew_dirs          r   r
   file_manage.renamej   sv     ||$STH 77==&q)Dggll42G+		$($ l+

>*s   B   B)r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r	   r
   __static_attributes__ r   r   r   r      s'    "] .!2F++r   r   )r   r0   r   r   rA   r   r   <module>rB      s/    	   s+ s+ s+r   