
    i                     B    S r SSKJr  SSKJr  SSKr " S S\5      r\rg)	zRename files   )PostProcessor   )	formatter    Nc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)RenamePP   c                 0   [         R                  " X5        UR                  SS5      U l        UR                  S5      nUR                  S5      nU(       a^  U R	                  U5      U l        U(       a  U R	                  U5      OU R                  U l        UR                  SU R                  0U5        g U(       aQ  U R                  U l        U R	                  U5      U l        UR                  U R                  U R                  S.U5        g [        S5      e)NskipTfromtoprepare)r   zprepare-afterz!Option 'from' or 'to' is required)r   __init__getr   _apply_format_old_apply_pathfmt_newregister_hooksrename_fromrename_to_skiprename_to_pafter
ValueError)selfjoboptionsoldnews        L/app/mltbenv/lib/python3.13/site-packages/gallery_dl/postprocessor/rename.pyr   RenamePP.__init__   s    t)KK-	kk&!kk$**3/DI47++C0,, I4++  ++DI**3/DI!%!4!4!%!6!6   @AA    c                     U R                  U5      nUR                  U-   n[        R                  R	                  U5      (       a3  U R                  U5      nUR                  U-   nU R                  X2XT5        g g N)r   realdirectoryospathexistsr   _renamer   pathfmtname_oldpath_oldname_newpath_news         r   r   RenamePP.rename_from,   sd    99W%((8377>>(##yy)H,,x7HLLX@ $r!   c                 6   U R                  U5      nUR                  U-   n[        R                  R	                  U5      (       aU  U R                  U5      =Ul        nUR                  U-   Ul        UR                  U-   =Ul        nU R                  X2XT5        g g r#   )
r   r$   r%   r&   r'   r   filename	directoryrealpathr(   r)   s         r   r   RenamePP.rename_to_skip5   s    99W%((8377>>(##*.))G*<<Gx",,x7GL*1*?*?(*JJGxLLX@	 $r!   c                     U R                  U5      =Ul        nUR                  U-   Ul        UR                  U-   Ul        SUR                  S'   g )NT_file_recheck)r   r1   r2   r&   r$   r3   kwdict)r   r*   r-   s      r   r   RenamePP.rename_to_pafter?   sK    &*ii&888((83"008;*.'r!   c                 
   U R                   (       a@  [        R                  R                  U5      (       a  U R                  R                  SX$5      $ U R                  R                  SX$5        [        R                  " X5        g )NzFNot renaming '%s' to '%s' since another file with the same name existsz'%s' -> '%s')r   r%   r&   r'   logwarninginforeplace)r   r,   r+   r.   r-   s        r   r(   RenamePP._renameE   sZ    991188###$,8 8 	nh9


8&r!   c                 8    UR                  UR                  5      $ r#   )build_filenamer7   )r   r*   s     r   r   RenamePP._apply_pathfmtN   s    %%gnn55r!   c                 T   ^ [         R                  " U5      R                  mU4S jnU$ )Nc                 d   > U R                  U R                  T" U R                  5      5      5      $ r#   )
clean_pathclean_segmentr7   )r*   fmts    r   apply%RenamePP._apply_format.<locals>.applyT   s1    %%g&;&;C=  '! " "r!   )r   parse
format_map)r   format_stringrG   rF   s      @r   r   RenamePP._apply_formatQ   s#    oom,77	" r!   )r   r   r   N)__name__
__module____qualname____firstlineno__r   r   r   r   r(   r   r   __static_attributes__ r!   r   r   r      s(    B4AA/'6r!   r   )__doc__commonr    r   r%   r   __postprocessor__rR   r!   r   <module>rW      s*     !  	H} HV  r!   