U
    âhã  ã                   @   sr   d dl Z d dlmZ d dlmZmZmZ d dlmZ	 d dlm
Z d dlmZmZmZmZ dd„ Zed	krneƒ  dS )
é    N)ÚCommand)ÚHasherÚHashCheckerÚfile_exists)Úhelp)Úusage)Úapp_nameÚmajor_versionÚminor_versionÚpatch_versionc                  C   s  t ƒ } |  ¡ r ttƒ t d¡ |  ¡ r<ttƒ t d¡ nR|  ¡ rXttƒ t d¡ n6|  	¡ rŽt
d t d t d t }t|ƒ t d¡ | j ¡ }|dkr$| jdkr
| jdd … }|D ]F}t|ƒrötƒ }| |¡}td| d ƒ t|ƒ qÀtj |d ¡ qÀntj d	¡ t d¡ nà|d
kr´| jdkrš| jdd … }|D ]J}t|ƒr„tƒ }| |¡}td| d ƒ t|ƒ ntj |d ¡ qLntj d	¡ t d¡ nP|dkrD| jdkr*| jdd … }|D ]J}t|ƒrtƒ }| |¡}td| d ƒ t|ƒ ntj |d ¡ qÜntj d	¡ t d¡ nÀ|dkrÔ| jdkrº| jdd … }|D ]J}t|ƒr¤tƒ }| |¡}td| d ƒ t|ƒ ntj |d ¡ qlntj d	¡ t d¡ n0|dkrd| jdkrJ| jdd … }|D ]J}t|ƒr4tƒ }| |¡}td| d ƒ t|ƒ ntj |d ¡ qüntj d	¡ t d¡ n |dkrô| jdkrÚ| jdd … }|D ]J}t|ƒrÄtƒ }| |¡}td| d ƒ t|ƒ ntj |d ¡ qŒntj d	¡ t d¡ n|dkrn| jdkr&tƒ }| | jdd … ¡ nF| jdk rJtj d¡ t d¡ n"| jdkrtj d¡ t d¡ n–| jdkrÒ| j}t|ƒr´tƒ }| |¡}td| d ƒ t|ƒ ntj | jd ¡ t d¡ n2| jdkròtƒ }| | j¡ ntdƒ t d¡ d S )Né   r   ú Ú.Úsha1zSHA1 (z) :z. does not appear to be an existing file path.
z?You did not include a file in your command.  Please try again.
Úsha224zSHA224 (Úsha256zSHA256 (Úsha384zSHA384 (Úsha512zSHA512 (Úmd5zMD5 (Úchecké   zMYou did not include a file or hash digest for comparison.  Please try again.
zBToo many arguments.  Please include two arguments for comparison.
z@ does not appear to be an existing file path. Please try again.
é   zCCould not complete the command that you entered.  Please try again.)r   Zdoes_not_validate_missing_argsÚprintÚ	hsh_usageÚsysÚexitZis_help_requestÚhsh_helpZis_usage_requestZis_version_requestr   r	   r
   r   ZsubcmdÚlowerZargcÚargvr   r   r   ÚstderrÚwriter   r   r   r   r   r   ÚcompareZarg0)ÚcZversion_display_stringZprimary_commandÚ	file_listÚfileZhasherZsha_hashZhc© r%   ú9/var/www/html/venv/lib/python3.8/site-packages/hsh/app.pyÚmain   sÞ    





























r'   Ú__main__)r   Zcommandlinesr   Zhsh.library.hashr   r   r   Zhsh.settingsr   r   r   r   r   r	   r
   r   r'   Ú__name__r%   r%   r%   r&   Ú<module>
   s    