
    Mg                     |    S SK Jr  S SKJr  S SKrS SKrS SKJrJrJr  \" \S9\" S5       " S S5      5       5       r	g)	    )print_function)ForeN)pluginrequireUNIX)platformzfile organisec                   B    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
rg)File_Organise   z\
Type file_organise and follow instructions
It organises selected folder based on extension
c                 &    U R                  U5        g )N)file_manage)selfjarvisss      C/Users/admin/workspace/ai/Jarvis/jarviscli/plugins/file_organise.py__call__File_Organise.__call__   s         c           	         / n[         R                  R                  S5      n[         R                  R                  S5      nUR                  U5      S   R	                  S5      n[         R
                  " U5       H  n[        [        R                  SR                  US   S S 5      -   SS9  [        R                  R                  5         X'S   R                  S5      S	   :X  d  Mm  UR                  US   5        M     [        U5       H-  u  p[        5         [        S
R                  US-   U	5      5        M/     [        U5      S:X  a&  [        [        R                   S-   5        [#        5         [%        UR'                  S5      5      n
U
S:  d  U
[        U5      :  a*  Sn[        [        R                   S-   5        [#        5         U$ X:S-
     nU$ )NHOMEUSERr   /zSearching in {}...F   endz{}. {}   zNo directory foundz
Enter the option number:  zWrong choice entered)osenvirongetsplitrstripwalkprintr   LIGHTBLUE_EXformatsysstdoutflushappend	enumeratelenLIGHTRED_EXexitintinput)r   r   dir_name	all_pathshome_dir	user_name	home_pathrooti	path_infochoicepaths               r   source_pathFile_Organise.source_path   s   	 ::>>&)JJNN6*	NN9-a077<	GGI&D!!&--!W  JJ7==-b11  a) ' &i0LAG(//!a%34 1 y>Q$""%99:FV\\"?@AA:#i.0D$""%;;<F
  aZ(Dr   c                    [        SR                  UR                  S5      S   U5      5        [        [        R                  S-   [        R
                  -   5        [        R                  " U5       H  n[        USS9  M     [        5         g )NzCleaning {} located at {}
r   r   zFolders before cleaning
	r   )r&   r(   r#   r   r'   RESETr    listdirr   r<   filess      r   print_beforeFile_Organise.print_before:   sd    +224::c?23FMNd"==

JKZZ%E%T" &r   c                    [         R                  " U5        [        5       n[         R                  " U5       H9  n[         R                  R                  U5      S   nUR                  USS  5        M;     SUR                  S5      S   -   n[         R                  R                  X5      n[         R                  R                  U5      (       d  [         R                  " U5        XeU4$ )Nr   Newr   r   )r    chdirsetrB   r<   splitextaddr#   joinexistsmkdir)r   r<   	extensionfextnew_dirnew_dir_paths          r   destination_pathFile_Organise.destination_pathC   s    
E	D!A77##A&*CMM#ab'" "
 $**S/"--ww||D2ww~~l++HH\"i//r   c           	         U GH]  n[         R                  R                  X5      n[         R                  R                  U5      (       d  [         R                  " U5        US:w  a  [         R
                  " U5       Hn  n[         R                  R                  U5      S   R                  S5      U:X  d  M:  [         R                  " U[         R                  R                  Xg5      5        Mp     M  [         R
                  " U5       GHU  nXr:w  d  M  [         R                  R                  U5      S   R                  S5      U:X  d  MB  [         R                  R                  X5      n[         R                  R                  U5      (       a  [         R                  " [         R                  R                  X75      5        [         R
                  " 5        H8  n	[         R                  R                  X5      n
[         R                  " X5        M:     [         R                  " [         R                  R                  X75      5        GM?  [         R                  " Xx5        GMX     GM`     g )Nr   r   .)r    r<   rM   rN   rO   rB   rK   striprenamerI   rmdir)r   rT   rS   r<   rP   rR   folderrQ   inner_folderfilenew_paths              r   organiseFile_Organise.organiseS   st   CWW\\,4F77>>&)) byD)Aww''*1-33C8C?		!RWW\\&%<= *
 D)A|(8(8) )""'%*)4')ww||L'D77>>,77HHRWW\\$%:;(*

+-77<<+K "		$ 9 )5 HHRWW\\$%:; IIa6 * r   c                    [        [        R                  S-   [        R                  -   5        [        R
                  " U5       H  n[        USS9  M     [        [        R                  S-   [        R                  -   5        g )Nz
Folders after cleaning
z,	)sepz	
CLEANED
)r&   r   r'   rA   r    rB   LIGHTMAGENTA_EXrC   s      r   print_afterFile_Organise.print_aftero   sZ    d">>KLZZ%E%U# & 	d""]2TZZ?@r   c                     UR                  S5      nU R                  X5      nU R                  U5        U R                  U5      u  pEnU R	                  XEX65        U R                  U5        g )Nz/Enter the name of directory you want to clear: )r2   r=   rE   rU   r`   re   )r   r   r3   dir_pathrT   rS   rP   s          r   r   File_Organise.file_managew   s`    << QR##F5(#+/+@+@+J(ylXA"r    N)__name__
__module____qualname____firstlineno____doc__r   r=   rE   rU   r`   re   r   __static_attributes__rj   r   r   r
   r
      s,    
!%N0 78A#r   r
   )

__future__r   coloramar   r    r)   r   r   r   r
   rj   r   r   <module>rs      sE    %  	 
 ( ( 	$s# s#  s#r   