Sindbad~EG File Manager
3
"e� � @ s G d d� de �ZdS )c @ sH e Zd Zedd� �Zedd� �Zedd� �Zedd� �Zed d
� �ZdS )�FilenameCleanerc C s� t j| �} yN| jd�}| d |� }| |d d � }d|krNt j|�}t j|�}|d | S tk
rl Y n tk
r~ Y nX | S )N�/� �.)r �_strip_abnormalities�rindex�_strip_around_so_delimited_dots�_strip_after_dash�
IndexError�
ValueError)�filenameZslash�dirname�basename� r �%/usr/lib/python3.6/FilenameCleaner.py�strip s
zFilenameCleaner.stripc C sz y| d | j d�� } W n tk
r* Y nX | jd�rB| dd� } d| kr\| d| j d�� } d| krv| d| jd�� } | S )N� z#new� � �;z.#prelink#.���)�indexr
�endswithr )r r r r r / s
z$FilenameCleaner._strip_abnormalitiesc C s� yV| j d�}|d } t|�dkr(| d7 } | jd�}| jd�}| d |� | |d � } W n& tk
rj Y n tk
r| Y nX | S )Nz.sor r r )�split�lenr r r r
)r
r Zfirst_dot_iZ
last_dot_ir r r r F s
z/FilenameCleaner._strip_around_so_delimited_dotsc C st yH| j d�}| jd|�}tj| |d |� �rF| d |� | |d � } W n& tk
r\ Y n tk
rn Y nX | S )N�-r r )r r r �_is_versionr r
)r
Zdash�dotr r r r U s
z!FilenameCleaner._strip_after_dashc C s( x"| D ]}|j � s|dkrdS qW dS )z:
Returns True if string contains only digits and dots
r FT)�isdigit)�string�charr r r r a s
zFilenameCleaner._is_versionN) �__name__�
__module__�__qualname__�staticmethodr r r r r r r r r r s
r N)�objectr r r r r �<module> s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists