Files
gommi/lib/framework/__pycache__/util.cpython-310.pyc

56 lines
5.7 KiB
Plaintext
Raw Normal View History

2022-04-21 19:23:01 +09:00
o
<00><>^bV<00>@szddlZddlZddlZddlZddlZddlmZddlmZm Z Gdd<05>de
<EFBFBD>Z Gdd<07>de
<EFBFBD>Z Gdd <09>d ej <0A>ZdS)
<EFBFBD>N)<01>DeclarativeMeta)<02>app<70>loggerc@s<>eZdZeddd<03><01>Zedd<05><00>Zedd<07><00>Zedd <09><00>Zed
d <0B><00>Zed d <0A><00>Z edd<0F><00>Z
edd<11><00>Z edd<13><00>Z eddd<16><01>Z edd<18><00>ZdS)<1C>Util<69>BytescCs>dD]}t|<00>dkrd|||fS|d}qd|d|fS)uD
파일크기, 다운로드 속도 표시시 사용
)<08><00>K<>M<>G<>T<>P<>E<>Zg<00>@z %3.1f%s%sz%.1f%s%s<>Y)<01>abs)<03>num<75>suffix<69>unit<69>r<00>@/Volumes/WD/Users/Work/python/gommi-server/lib/framework/util.py<70>
sizeof_fmts
 
zUtil.sizeof_fmtcCsi}|D]}|j||j<q|S)uD
세팅DB에서 사용, (key, value) dict로 변환
)<02>value<75>key<65>Zdb_list<73>ret<65>itemrrr<00>db_list_to_dictszUtil.db_list_to_dictcCs g}|D] }|<01>|<02><01><00>q|S<00>N)<02>append<6E>as_dictrrrr<00>
db_to_dict)szUtil.db_to_dictc
Cs6zzi}d|d<d|d<|dkrd|d<t||<00>d|d<||dkr+|dd8<t|dd<00>dd|d <|d d
|dkrG|dn|d d
|d <|d |dkr[d|d<||d <||d <t<01>d||d|d|d|d |d <00>|WSty<>}zt<01>d|<04>t<01>t<04><05><00>WYd}~dSd}~ww)NTZ prev_pageZ next_page<67>
F<>Z
total_pagerZ
start_page<EFBFBD> Z last_page<67> current_page<67>countzpaging : c:%s %s %s %s %s %s<> Exception:%s)<06>intr<00>debug<75> Exception<6F> traceback<63>
format_exc)r%r$Z page_sizeZpaging<6E> exceptionrrr<00>get_paging_info0sB 
<EFBFBD>
<06><04>  <08><02>zUtil.get_paging_infocCs<g}|D]}|<02><00><00>d<01>rq|<02><00>dkr|<01>|<02><00><00>q|S)N<>#r)<03>strip<69>
startswithr)<03>source<63>tmp<6D>_rrr<00>get_list_except_emptyTs <02>zUtil.get_list_except_emptycCsddlm}|<02>||<01>dS)Nr)<01>ToolUtil)<03> tool_baser5<00> save_dict)<03>d<>filenamer5rrr<00>save_from_dict_to_json^s zUtil.save_from_dict_to_jsoncC<00>ddlm}|<01>|<00>S)Nr)<01>ToolSubprocess)r6r<Zexecute_command_return)<02>commandr<rrr<00>execute_commande<00> 
zUtil.execute_commandcCr;)Nr)<01> ToolBaseFile)r6r@Ztext_for_filename)<02>textr@rrr<00>change_text_for_use_filenamekr?z!Util.change_text_for_use_filenamec
Cs<>zSi}d}d}|dD]}|d|kr|d}t|d<00>}q |<03>d<05>}|d|d<t|<04>dkr4d|d <nt|<04>d
krA|d |d <n |<03>d |dd<08>|d <||d <|WStys}zt<05>d|<05>t<05>t<07><08><00>WYd}~dSd}~ww)N<><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>files<65>size<7A>path<74>/r9r"r<00>dirname<6D>rz/%s<>max_sizer&) <09>str<74>split<69>len<65>replacer)r<00>errorr*r+)<06> torrent_inforrJZ max_filename<6D>tr,rrr<00>get_max_size_fileinfors2   <02>
  
  <08> <08><02>zUtil.get_max_size_fileinfo<66>zipc
Cs<>ddl}zKtj<02>|<00>rDtj<02>tj<02>|<00>dtj<02>|<00>|f<00>}|<02>|d<03>}t<01>|<00>D]}tj<02>||<05>}|j |tj<02>|<06>|j
d<04>q)|<04> <0B>ddl }|<07> |<00>WdStyo}zt<0F>d|<08>t<0F>t<11><12><00>WYd}~dSd}~ww)Nrz%s.%s<>w)<01> compress_typeTr&F)<13>zipfile<6C>osrF<00>isdir<69>joinrH<00>basename<6D>ZipFile<6C>listdir<69>write<74> ZIP_DEFLATED<45>close<73>shutil<69>rmtreer)rrOr*r+) <09>zip_pathZ zip_extensionrVZ zipfilenameZ fantasy_zip<69>f<>srcr`r,rrr<00>makezip<69>s2 
<04> 
<08>
 <08><02>z Util.makezipcCs^ddlm}|j|<01>d<03>d<04>}|<01>d<05>r-|<00>d<06>dkr |d7}n|d7}|d |<01>d
<EFBFBD>7}|S) Nr)<01>SystemModelSetting<6E>ddns)rgZauth_use_apikey<65>?rC<00>&z apikey=%sZ auth_apikey)<06> frameworkrf<00>format<61>getZget_bool<6F>find)<02>urlrfrrr<00> make_apikey<65>s 

zUtil.make_apikeyN)r)rS)<0F>__name__<5F>
__module__<EFBFBD> __qualname__<5F> staticmethodrrr r-r4r:r>rBrRrerorrrrrs. 


#




 rc@s(eZdZdZedd<03><00>Zedd<05><00>ZdS)<06>SingletonClassNcCs|jSr)<01>_SingletonClass__instance)<01>clsrrrZ __getInstance<63>szSingletonClass.__getInstancecOs||i|<02><01>|_|j|_|jSr)ru<00>_SingletonClass__getInstance<63>instance)rv<00>args<67>kargsrrrrx<00>szSingletonClass.instance)rprqrrru<00> classmethodrwrxrrrrrt<00>s 
rtc@seZdZdd<02>ZdS)<04>AlchemyEncoderc Cstt|jt<02>r3i}dd<02>t|<01>D<00>D]}|<01>|<03>}z t<05>|<04>|||<Wqty0d||<Yqw|Stj<08> ||<01>S)NcSs"g|] }|<01>d<00>s|dkr|<01>qS)r3<00>metadata)r0)<02>.0<EFBFBD>xrrr<00>
<listcomp><3E>s
<02><02><06>z*AlchemyEncoder.default.<locals>.<listcomp>)
<EFBFBD>
isinstance<EFBFBD> __class__r<00>dir<69>__getattribute__<5F>json<6F>dumps<70> TypeError<6F> JSONEncoder<65>default)<05>self<6C>obj<62>fields<64>field<6C>datarrrr<><00>s 
<EFBFBD>
<04>   <02>zAlchemyEncoder.defaultN)rprqrrr<>rrrrr|<00>s r|)rWr<>r*<00>platform<72>
subprocess<EFBFBD>sqlalchemy.ext.declarativerrjrr<00>objectrrtr<>r|rrrr<00><module>s &