o
    Žõ±jM  ã                   @   sX   d dl Z d dlZd dlmZ d dlmZ d dlZd
dd„Zdd„ Ze	d	kr*eƒ  dS dS )é    N)ÚSMBConnectionFactory)ÚloggerTc              	   Ã   sF  �t  | ¡}| ¡ }| ¡ }|4 I d H š‚ | ¡ I d H \}}|d ur$|‚| |¡I d H \}}|d ur4|‚|d u r;|j}|du rLtjd| |jdddd�}t|dƒ�2}	| 	¡ 2 z$3 d H W \}
}|d urd|‚|
d u rj n|	 
|
¡ |du rz| t|
ƒ¡ qV6 W d   ƒ n1 s†w   Y  W d   ƒI d H  d S 1 I d H sœw   Y  d S )NTzDownloading %sÚBi   )ÚdescÚtotalÚunitÚ
unit_scaleÚunit_divisorÚwb)r   Úfrom_urlÚget_connectionÚget_fileÚloginÚopenÚnameÚtqdmÚsizeÚread_chunkedÚwriteÚupdateÚlen)ÚurlÚoutfilenameÚprogressÚsmburlÚ
connectionÚsmbfileÚ_ÚerrÚpbarÚoutfileÚdata© r"   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/examples/smbgetfile.pyÚamain
   s:   €

€ù€ÿ.ñr$   c                  C   sÂ   dd l } | jdd�}|jddddd� |jdd	d
d� |jdddd� |jddd� | ¡ }|jdkr9t tj¡ |jdkrUt	dƒ t d¡ t
 ¡  d¡ tjtjd� t
 t|j|jƒ¡ d S )Nr   zSMB file downloader)Údescriptionz-vz	--verboseÚcount)ÚactionÚdefaultz
--progressÚ
store_truezShow progress)r'   Úhelpz-oz
--out-filezOutput file name. Optional.)r*   r   zgSMB URL with full file path. Example: smb2+ntlm-password://TEST\Administrator:pw@10.10.10.1/C$/test.txté   é   zsetting deepdebugT)Úlevel)ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsÚverboser   ÚsetLevelÚloggingÚDEBUGÚprintÚasyncioÚget_event_loopÚ	set_debugÚbasicConfigÚrunr$   r   Úout_file)r.   ÚparserÚargsr"   r"   r#   Úmain(   s   


r?   Ú__main__)T)
r7   r4   Ú!aiosmb.commons.connection.factoryr   Úaiosmbr   r   r$   r?   Ú__name__r"   r"   r"   r#   Ú<module>   s   

ÿ