o te @sddlZddlZddlZddlZddlZddlZddlZddlmZddl Z ddl Z ddddddd Z d d Z d ed e fddZ  ddededede de d ef ddZdS)N)AnyzRhttps://drive.google.com/file/d/14OnzO4QWaAytKXVqcfWo_o2MzoR4ygnr/view?usp=sharingzRhttps://drive.google.com/file/d/16v6jPtKVlvq8rg2Sdi3-R9qZEVDgvvEA/view?usp=sharingzRhttps://drive.google.com/file/d/1HXLER5R3EMI8DSYDBZafoqpX4EtyOf2R/view?usp=sharingzRhttps://drive.google.com/file/d/1AT6bNR2ppK8f2ETL_evT27f3R_oyWNHS/view?usp=sharingzRhttps://drive.google.com/file/d/16wM2PwVWzaMsRgPExvRGsq6BWw_muKbf/view?usp=sharingzRhttps://drive.google.com/file/d/1lIKvQaFKHT5zC7uS4p17O9ZpfwmwlS62/view?usp=sharing)z afhqwild.ptz afhqdog.ptz afhqcat.ptzffhq.ptz metfaces.ptzseg.pthcCs tjttj||dddS)NT)outputZfuzzy)gdowndownload weight_dicospathbasename)Z weight_pathr */home/widemax/gRPC_hairfast/utils/drive.pydownload_weights r objreturncCst|tr d|vr dSz0tj|}|jr|jrd|jvr WdStjtj|d}|jr6|jr6d|jvr9WdSWdSYdS)z9Determine whether the given object is a valid URL string.z://F./T) isinstancestrrequestscompaturlparseschemenetlocurljoin)r resr r r is_urls r TFurl cache_dir num_attemptsverbose return_pathc Cst|sJ|dks Jt|d}|dur9ttj||d}t |dkr9|r2|dSt |ddSd}d}t } |rMt d|dd d tt|D]} z| |q} | t | jdkrktd t | jd kr| jd} d | jddvrdd| dD} t | dkrt j|| d}tdd| vrtdtd| jdd}|r|dn|}| j}|rt d WdWn!1swYWqS| s|rt d|rt ddd d YqSWdn1swY|durTtdd|}tj||d|}tj|dtjd|d|}tj|d dt |d }| |Wdn 1sDwYt!|||rT|St"#|S)zODownload the given URL and return a binary-mode file object to access the data.zutf-8Nz_*rrbzDownloading %s ...T)endflushzNo data receivedi download_warningz Set-CookiecSsg|] }d|vrt|qS)zexport=download)htmlunescape).0linkr r r Lszopen_url.."zGoogle Drive virus checker nagzGoogle Drive - Quota exceededzGoogle Drive quota exceededzfilename="([^"]*)"zContent-Dispositionz donez failedrz[^0-9a-zA-Z-._]_tmp_)exist_okwb)$rhashlibmd5encode hexdigestglobrrjoinlenopenrSessionprintreversedrangegetraise_for_statuscontentIOErrordecodeheaderssplitrrresearchsubuuiduuid4hexmakedirswritereplaceioBytesIO)rrrrr Zurl_md5Z cache_filesZurl_nameZurl_datasessionZ attempts_leftrZ content_strlinksmatch safe_name cache_file temp_filefr r r open_url,sp       & $(     rV)NrTF)rr'r1rr5rrMtypingrrDrGrr boolrrintrVr r r r s4