Files
inflearn/__pycache__/logic_queue.cpython-38.pyc

89 lines
8.4 KiB
Plaintext
Raw Normal View History

2022-04-30 16:45:26 +09:00
U
Feb\C<00>@s<>ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl Z ddl
m Z m Z m Z ddlmZddlmZddlmZddlZddlmZmZe<18>d <09>dZee<1A>ZGd
d <0B>d <0B>ZGd d <0A>d e<1D>ZdS)<0E>N)<01>datetime)<03>db<64> scheduler<65> path_data)<01>Job)<01>Util)<01>
get_logger<EFBFBD>)<02> ModelSetting<6E> ModelLinkkf<6B>.c@s4eZdZdZgZdd<03>Zedd<05><00>Zedd<07><00>ZdS) <09> QueueEntityr cCsh|d|_||_d|_d|_d|_d|_d|_d|_t<08> <09><00>
d<06>|_ d|_ t jd7_t j<0F>|<00>dS)N<>code<64><65><EFBFBD><EFBFBD><EFBFBD>u 대기중rFz%m-%d %H:%M:%Sr )<11> entity_id<69>info<66>url<72> ffmpeg_status<75>ffmpeg_status_kor<6F>ffmpeg_percent<6E>
ffmpeg_arg<EFBFBD>cancelr<00>now<6F>strftime<6D> created_time<6D>statusr <00> static_index<65> entity_list<73>append)<02>selfr<00>r <00>4/root/SJVA3/data/dev_plugins/inflearn/logic_queue.py<70>__init__*s
zQueueEntity.__init__cCs0tjD]}|jd|dkrdSqt|<00>}|S)Nr)r rr)r<00>e<>retr r r!<00>create9s

zQueueEntity.createcCs"tjD]}|j|kr|SqdS)N)r rr)r<00>_r r r!<00>get_entity_by_entity_idAs


z#QueueEntity.get_entity_by_entity_idN) <09>__name__<5F>
__module__<EFBFBD> __qualname__rrr"<00> staticmethodr%r'r r r r!r &s
r c@s\eZdZdZdZdZdd<04>Zedd<06><00>Zedd<08><00>Z ed d
<EFBFBD><00>Z
ed d <0C><00>Z ed d<0E><00>Z dS)<0F>
LogicQueueNrcCs|j<00>d|<00><02><00>dS)Nr)<03> module_logic<69>socketio_callback<63>as_dict)rr r r!<00>refresh_statusPszLogicQueue.refresh_statusc
Cs<>zFtjdkrt<02><03>t_tjdkrDtjtjdd<02>t_dtj_tj<04> <09>Wn<t
k
r<EFBFBD>}zt <0B> d|<00>t <0B> t <0A><0E><00>W5d}~XYnXdS)Nr )<02>target<65>argsT<73> Exception:%s)r,<00>download_queue<75>queue<75>Queue<75>download_thread<61> threading<6E>Thread<61>download_thread_function<6F>daemon<6F>start<72> Exception<6F>logger<65>error<6F> traceback<63>
format_exc)r#r r r!<00> queue_startSs


<02> zLogicQueue.queue_startc
Cs*d}ddlm}<00>z<>tjtt<05>d<03><01>kr*q6t<07>d<04>qtj <09><06>}|dkrLWqt
<EFBFBD> |j d<00>}|dkr<>t
d|j d<07>}t j<0E>|<04>t j<0E><10>nddlm}|<05>|j d <00>|_t<15>d
|j<14><00><02>|jd dkr<>d t_|<01><19>Wqd dl}d }d}t<05>d <0A>} t<05>d<0E>dk<02>rDtj<1C>| |j d<00>}
|
} t<05>d<11><01>rDtj<1C>| dt|j d<00><00>} ztj<1C>| <09><01>s^t<1B>| <09>Wnt<15>d<14>YnX|jddk <09>r<>|jd}d|<08>d<16>}tj<1C>tj<1C>| |j d<00><02><01>r<>d|_d|_ |<01><19>Wqd|<08>d<1B>}|j!|jd |j d|j"tj#|t$| |d<1C>} | <0B>%<25>tjd7_tj <09>&<26>d dl'm(} m)} d dl*m+}|<0E>,|jd<00>}|j-<2D>d|j.<2E><00>}||jd }t<15>d!|<11><00><02>tj<1C>| |j d<00>/d"d#<23><02>}|jd dk <09>r<>tj<1C>|<12><01>s<>t0j||d$<24>j1}| |<13>}| ||<12>Wqt2k
<EFBFBD>r"}zt<15>3d%|<15>t<15>3t4<74>5<EFBFBD><00>W5d}~XYqXqdS)&Nr <00><01>plugin<69>max_ffmpeg_process_count<6E>r<00>auto)r)<01>LogicLinkkfYommirz entity.url: ru URL실패<EC8BA4> download_path<74>auto_make_folder<65>True<75> save_folder<65>linkkf_auto_make_season_folderz Season %s<>seasonzprogram path make fail!!zrMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36)z
User-Agent<6E>Referer<65>filename<6D> 파일 있음<EC9E88>dz<>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3554.0 Safari/537.36Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3554.0 Safari/537.36)z
user-agentrO)<06> plugin_id<69>listener<65> max_pf_count<6E> call_plugin<69> save_path<74>headers)<02>
write_file<EFBFBD>convert_vtt_to_srt)<01>parsez://<2F>z srt:url => z.mp4z.ko.srt)rXr3)6<>rDr,<00>current_ffmpeg_count<6E>intr
<00>get<65>time<6D>sleepr4r <00>get_by_linkkf_idrr<00>session<6F>add<64>commit<69>logic_linkkfyommirH<00> get_video_urlrr><00>debugrr<00>socketio_list_refresh<73>ffmpeg<65>os<6F>path<74>join<69>exists<74>makedirsr<00>Ffmpegr<00>ffmpeg_listener<65> package_namer<<00> task_done<6E>framework.common.utilrYrZ<00>urllibr[<00>urlparse<73>scheme<6D>netloc<6F>replace<63>requests<74>textr=r?r@rA)rXrD<00>entity<74> db_entity<74>episoderHrkrU<00>refererrWZ program_path<74>frYrZr[<00>ourls<6C>base_url<72>vtt_url<72> srt_filepath<74>vtt_data<74>srt_datar#r r r!r:qs<> <08> 
   
 <10>
<04> <04><02> 
 <10> z#LogicQueue.download_thread_functioncKs<>ddl}d}|ddkr<>|d|jjkrttj<04>t<06>j|dd<06><01><08><00> <09>}|r<>t
|d<00>|_ |dd|_ tj<04> <0A>n"|d|jjkr<>n|d|jjkr<><72>n<>|dd k<02>rRtjd
7_tj<04>t<06>j|dd<06><01><08><00> <09>}|d|jjk<02>s|d|jjk<02>s|d|jjk<02>s|d|jjk<02>r&d |_n"|d|jjk<02>rHd |_t<19>d <0A>|d|jjk<02>r<>d |_t<1C><1D>|_|j|jj |_!|j|_"|dd|_#|dd|_$|dd|_%d|_&t<19>d<12>nx|d|jj'k<02>r<>d|_n^|d|jj(k<02>rt
|dd<00>|_)d |_*n2|d|jj+k<02>rd|_n|d|jj,k<02>r6d|_tj<04> <0A>t<19>d|d<00>n|ddk<02>rbn|ddk<02>rp|dk <09>rzt-<2D>.|d<00>}|dk<08>r<>dS||_/t
|d<00>|_ t0|d<00>|_1|dd|_2d dl3m4}t0|d<00>|d<|<05>5d|<00>dS)Nr<00>type<70> status_changerrS)<01> episodecode<64>data<74>duration<6F>lastrr TzStatus.USER_STOP received..<2E>filesize<7A> filesize_str<74>download_speed<65> completedzStatus.COMPLETED received..r\<00>current_pf_count<6E><00>zLAST commit %s<>log<6F>normal<61>percentrC)6rk<00>Status<75> DOWNLOADINGrrd<00>queryr <00> filter_by<62>with_for_update<74>firstr_rr<>rf<00> COMPLETED<45>READYr,r^<00> WRONG_URL<52>WRONG_DIRECTORY<52>ERROR<4F> EXCEPTION<4F> etc_abort<72> USER_STOP<4F>
user_abortr>rir<>rr<00>end_time<6D>
start_time<EFBFBD>seconds<64> download_time<6D>completed_timer<65>r<>r<>r<00> TIME_OVER<45>PF_STOP<4F>pf<70>pf_abort<72>
FORCE_STOP<EFBFBD>HTTP_FORBIDDENr r'r<00>strrrr]rDr.)<06>argrk<00> refresh_typerr}rDr r r!rrs<>  <06> <0C>  <06> <0C><0E><0E><0E><0E>

 


 zLogicQueue.ffmpeg_listenerc
Cs<>zlt<00>|d<00>}|dkr4t<02>|<00>}tj<05>|<02>WdS|jdkrdt<02>|<00>}tj<05>|<02>t<08> d<04>WdSWdSWn<t
k
r<EFBFBD>}zt<08> d|<03>t<08> t <0C> <0A><00>W5d}~XYnXdS) Nr<00>enqueue_db_appendr<64>zadd_queue()::enqueue_db_exist<73>enqueue_db_exist<73> db_completedr3F)r rcr r%r,r4<00>putrr>rir=r?r@rA)rr~r}r#r r r!<00> add_queuebs  
 

 

  zLogicQueue.add_queuec
Cs <00>z<>ddlm}|jd}t|jd<00>}t<04>d||<03>t<06>|<03>}t<04>d|<04>i}|dkr<>|jdkr<>d |_ d
|_
|<01> <0B>d |d <nN|jd kr<>d|d <d|d<n2|j dd}ddl }|j<0E>|<06>|<01> <0B>d |d <n<>|dk<02>rZtjdk <09>rBtjj<12>tjj<13><14>W5QRXtjD]4}|jd k<02>r ddl }|j dd}|j<0E>|<06><00>q gt_|<01> <0B>d |d <nX|dk<02>r<>g} tjD],}|jdk<06>r<><72>qn|jdk<03>rn| <09>|<08><00>qn| t_|<01> <0B>d |d <WnRtk
<EFBFBD>r}
z2t<04>d|
<EFBFBD>t<04>t<1B><1C><00>d|d <t|
<EFBFBD>|d<W5d}
~
XYnX|S)Nr rC<00>commandrzcommand :%s %sz entity::> %srrT<>취소<ECB7A8>refreshr$rF<00>notifyu+다운로드 중인 상태가 아닙니다.r<>r<><00>idxr<00>reset<65>delete_completed)rQr<><00>r3)r]rD<00>formr_r>rir r'rr<00>
status_korrjrrkrq<00> stop_by_idxr,r4<00>mutexr5<00>clearrrrrr=r?r@rAr<>) <0B>reqrDr<>rr}r$r<>rkr&<00>new_listr#r r r!<00>program_auto_command<6E>sd 

 



 

 

 


    zLogicQueue.program_auto_command) r(r)r*r4r7r^r0r+rBr:rrr<>r<>r r r r!r,Ks


[
"r,)rlr@<00>sys<79>loggingr8r5<00>jsonrarr{<00> frameworkrrr<00> framework.jobr<00>framework.utilr<00>framework.loggerr<00>system<65>modelr
r r(<00>splitrsr>r <00>objectr,r r r r!<00><module>s&    %