
    iuF                        S SK r S SKrS SKJrJrJrJrJrJr  S SK	J
r
JrJrJr  S SKJr  S SKJr  S SKrS SKrS SKrS SKrS SKrS SKJrJr  S SKJr  S SKJr  S SKrS SKr\" S	S
SS9r\R?                  \S/SS/S/S9  Sr Sr!SSSSSSSSSSSSSSS.r"S r#S r$\RK                  S5      \RM                  S5      \" S5      4S\S\'S\4S jj5       5       r(g)    N)FastAPI
UploadFileFileHTTPExceptionQueryRequest)PlainTextResponseJSONResponseFileResponseResponse)CORSMiddleware)	urlencode)IteratorList)glob)datetimezshlozzshlo serverz1.1.0)titledescriptionversion*T)allow_originsallow_credentialsallow_methodsallow_headers../z	./log.txtimgtxtdir)z.pngz.jpgz.jpegz.svgz.webpz.jsz.cssz.htmlz.mdz.jsonz.txtz.pyz.csv.dirc                     [         R                  " 5       R                  S5      nU SU  S3n[        [        S5       nUR                  U5        S S S 5        g ! , (       d  f       g = f)Nz%Y-%m-%dT%H:%M:%Sz; 
a)r   nowstrftimeopenlog_filewrite)msg	timestamp	log_entryfiles       /root/zsrc/zsrv_dev/main.pylogr.   F   sO    ''(;<I+RuB'I	h	

9 
		s   A
A&c                    [        SU 5        / SQn/ n[        R                  " U 5       H  nU S-   U-   nUR                  SU-   5        [        R                  R                  U5      (       a  UR                  S5        MV  US:X  a+  [        US5       nUR                  5       nXaS'   S S S 5        M  US:X  d  UR                  S	5      (       d  M  [        US5       nUR                  5       nUR                  S
U-   S-   5        UR                  U5        S S S 5        M     SSR                  U5      -   US'   SR                  U5      $ ! , (       d  f       GM.  = f! , (       d  f       GMA  = f)Nz342:) r0   r0   r0   /z
-zzrr   zlsz..zlsz
/r"   z
/zdir
r0      )
printoslistdirappendpathisdirr&   readendswithjoin)dirPathztxttmp	entryNameabs_pathr,   r   s          r-   get_ztxtrD   N   s-    
&' DCZZ(	3;y(

5)#$77==""CJJsOX$h$yy{Q %$ 5 I$6$6w$?$?h$yy{E)OD01C  %$ )$ "''#,&DG 774> %$ %$s   E9E
E	
E*	z/{PATH:path}reqDataPATHr,   c                 ^  #    US:X  a  g U R                   R                  S5      nU R                   R                  S5      nU R                   R                  S5      n[        U R                  5      nU(       a"  S[	        U R                  R
                  5      -   OSnUR                  SS5      R                  S	5       Vs/ s H  o(       d  M  UPM     n	nU R                  5       I S h  vN n
[        S
S5        U(       d  US:X  a  U R                  5       I S h  vN nUS :X  a  0 nSSSSSS	R                  U	5      S.n[        SU5        U	S   R                  S5      (       a+  U	S   US'   S	R                  U	SS  5      US'   [        SU5         U	(       a  U	S   OSn[        U	5      S:  a  U	S   OSnSn[        SU5        US:X  a  SU;  a  / SQn	GO&UR                  S5      (       a  SSUS/n	GOUR                  S5      (       a  SSUS/n	OUR                  S5      (       a  SS/U	-   n	OUR                  S5      (       a  SnSSU/U	SS  -   n	OUR                  S5      (       a  SnSS U/U	SS  -   n	OUR                  S!5      (       a  SoR                  SS5        O[US";   a  SoR                  SS5        OAUR                  S5      (       a  SS/U	SS  -   n	O UR                  S5      (       a
  SS /U	SS  -   n	[        U	5      S:  a^  U	S   S:X  a&  U	S#   R                  S5      (       d  U	S#==   S-  ss'   U	S   S :X  a&  U	S#   R                  S5      (       d  U	S#==   S-  ss'   UR!                  5        H  u  nn[        S$US% S&U 35        M     US':X  a  [#        S(S)0S*S+9$ U	S,   S-;   a.  [        S.5        [.        R.                  " X5      u  nn[1        UUS/9$ U	(       Ga~  U	S   S:X  Gat  [2        S	R                  U	SS  5      -   nUUnn[        S0X5        [        S1U5        [        S1U5        S2U;   Gav  UR4                  nUR                  S35      (       a  UR6                  R9                  S45      nUR                  S55      S   R;                  5       R=                  5       n[2        UR                  SS5      -   nUS6-   nUR6                  R?                  S5        [&        R@                  " US7S89  Og[2        U
R                  S9S:5      R                  SS5      -   nUS	-   UR4                  -   n[&        R(                  RC                  U5      (       d  S;S<U S=30$ [        S>US?U5        [E        US@5       n[F        RH                  " UR6                  U5        S S S 5        UR4                  SASB.$ SCU;   ao  [&        R(                  RC                  U5      (       a  SDSEU SF30$ [&        R@                  " US7S89  [&        R(                  RC                  U5      (       a  SDSEU SG30$ GOSHU;   a  [        SI5        [&        R(                  R+                  U5      (       a  SDSEU SF30$ [E        USJ5      RK                  5         [&        R(                  R+                  U5      (       a  SDSEU SG30$ GOSU;   a  [        SKU5        [&        R(                  RC                  U5      (       aV  [&        RL                  " U5       Vs/ s H4  n[&        R(                  RC                  US	-   U-   5      (       a  US	-   OUPM6     sn$ / $ SLU;   Ga}  [        SMU5        Un/ n[&        RL                  " U5       GHP  nUS	-   U-   n[&        RN                  " U5      n[N        RP                  " URR                  5      n [&        R(                  RC                  U5      (       a  SNO![&        R(                  RU                  U5      S   n!U[V        R                  U!S5      U![&        R(                  RY                  U5      [Z        R\                  " UR^                  5      U SO.n"U!SN:X  a,  [&        R(                  R+                  U SP35      (       a  SQU"SR'   USS:X  a  [&        RL                  " U5      U"ST'   URa                  U"5        [        SUU"5        GMS     U$ SVU;   a  US:X  a  [&        R(                  R+                  U5      (       d  [#        S(S)0S*S+9$ SWn#[        SXU5        [E        USY5       nUR9                  5       n#S S S 5        SZn$S[n%U#R                  S\U$5      n#U#R                  S]U%5      n#[1        U#S^S/9$ US:X  a/  [&        R(                  R+                  U5      (       a  [-        U5      $ U(       Ga  [2        S_-   n&SnSWn#[        S`U&5        [        SaU5        [&        R(                  R+                  U&5      (       a%  [E        U&SY5       nUR9                  5       n#S S S 5        [&        R(                  R+                  U5      (       a&  [E        USY5       nUR9                  5       nS S S 5        O[&        R(                  R+                  USb-   5      (       a)  [E        USb-   SY5       nUR9                  5       nS S S 5        O2[&        R(                  R+                  USc-   5      (       a  [c        U5      n[        SdU#S Se 5        [        SfUS Se 5        SVU;   aQ  S	R                  U	SS  5      n'SgUR=                  S	5      -   Sh-   n$S[n%U#R                  S\U$5      n#U#R                  S]U%5      n#[        U5      (       a-  [        Si[        U5      5        U#R                  S]SjU-   Sk-   5      n#[1        U#S^S/9$ [&        R(                  R+                  USl-   5      (       a  [-        USl-   5      $ [&        R(                  R+                  USb-   5      (       a  [-        USb-   5      $ [&        R(                  RC                  U5      (       a:  [&        R(                  R+                  USc-   5      (       a  [1        [c        U5      SmS/9$ [#        S(S)0S*S+9$ US   Sn:X  a9  Sn(US   n[&        RL                  " SoU-   5      n)[e        SpR                  U)5      S^S/9$ g s  snf  GN GN! , (       d  f       GN = fs  snf ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN(= f! , (       d  f       GN:= f! [f         a  n*[i        SqSrU* 3Ss9eS n*A*ff = f7f)tNzfavicon.icor0   zContent-Typehostreferer?@z/@r1   z94:  z0################################################zapplication/jsonr   )FIDRIDsizeiblockreqTypezpathz165::rP   r5   rQ   z170:z122: token0     :ls)zfsobaz	zshlo.oba
index.htmlz.obarT   rU   rV   z.oba/z.zuuz.zssz.zurs   z203: 12z: umsERRORzFile not foundi  )contentstatus_code)zmanifest.jsonzpwa.jsz	pwa_sw.jsz174:---)r^   
media_typez157: ZFS     :- z157: filePath:- 
uploadFilez.zx      
z/default.zxT)exist_okr:   uploaderrorzdir 'z' not exit z235:z
236:wbzFile uploaded successfully!)filenamer)   zmkr)   zDirectory 'z' already exists.z' created successfully.zcfz224: zcfr#   z273:zls.jsonz250:r    )r   typefileExtrN   mtimeaccessz
/thumb.jpgz	thumb.jpgthumbtthread_listz105:pwazindex file not foundz287:r3   z3<link rel="manifest" href="./manifest.json"></head>z'<script src="./pwa.js"></script></body>z</head>z</body>z	text/htmlzoba/zshlo.oba/index.htmlz364:z365:z.zzz/zzz385:   z386:z<link rel="manifest" href="/z/manifest.json"></head>z387: ztxt_lenz+<script>window.onload = () => {const s3 = `z)`; z = zparse(s3); zrender(z); }</script>z.zcz	text/textzls.htmlr   z<br>i  z*An error occurred while reading the file: )r_   detail)5headersgetdictquery_paramsr   _dictreplacesplitformr6   jsonr>   
startswithlenr=   insertitemsr
   r\   r7   r:   isfiler   rs   r   ZFS_DIRri   r,   r<   decodestripseekmakedirsr;   r&   shutilcopyfileobjcloser8   statfilemodest_modesplitext	fileTypesgetsizetimectimest_mtimer9   rD   r	   	Exceptionr   )+rE   rF   r,   contentTyperH   ref_urlargsqueryParamstokenpath_tokensformDatazreqtoken0token1r@   kvfilePathr:   r   mimer?   fileNameheader
upload_dir	file_pathbuffer_entriesentry
entry_path
entry_statpermissionsrm   
entry_infohtml_txtheadbodyhtml_filePathrA   tpprS   es+                                              r-   corer   x   s     }Rkf oo)).9oo))&1oo)))47//0EIcIg&:&:&@&@AAr*.,,s4*@*F*Fs*KU*Kuu*KU#LLN*gv (::',,.DXT4<$ ((;/
 	fdq>$$S)))!nDO!hh{127DM&$ '2[^F'*;'7'9[^rFD%v02tt|Cl[v&&udS_7`w''udS_7`((u~k7Q''asF?SU`abacUd?d''asF?SU`abacUd?d&&a1C1CAu1M5a1C1CAu1M''s~{STSU7V''s~{STSU7V {A1~$[^-D-DU-K-K[YZ^_dMd^1~$[^-D-DU-K-K[YZ^_dMd^ ::<CAaE!Br!%&  
 U?2B(CQTUU$ _ II)2ICCD99 [^e3388KO44D !%dgH$d:$h0$d,
 $==$$U++!%!4F!'e!4Q!7!>!>!@!F!F!HD!(4<<T+B!BJ!+]!:IIINN1%KK
T: ")8<<+I+Q+QRUW[+\!\J!+C!=I77==44 '5K)HIIfj(D9
 )T*f&&tyy&9 + %)MM:WXX $77==))5KvM^:_2`+`Gd377==))5KvMd:e2f+f) $j"77>>(++Uk$O`<a4b-bXs#))+77>>(++Uk$Of<g4h-h+fg&77==))kmkukuvzk{4|k{fgbggmmGTWKXYM>Z>ZQsU`a5ak{4|,|46Yd"fd# ZZ0E")#+e"3J"$''*"5J"&--
0B0B"CK(*j(A(AfrwwGWGWX]G^_`GaG %*#,=="#=#*#%77??:#>#'::j.A.A#B#."J &(RWW^^zl*<U-V-V.9
7+ |46JJz4J
=1 NN:.&*-I 1L  }qww~~h//':J0KY\]]1fh' (C(D $		H ) QD#++It<#++It<[IIqRWW^^H55#H-- !((B B1fm,fh' 77>>-00mS1T$(IIK 2 77>>(++h, $		 -, WW^^HUN33hunc2d $		 32 WW^^HUN33#H-Df#/fTc
+ D="xxAB8C=tzz#NOhhDHD'//	4@H'//	4@H t99/3t96'//!/1569$$ H  [II//Xe^8T1T//Xe^8T1Tw''BGGNN75=,I,I  (9kRR $W6F,GUXYYF )_	) C=DE$J'B$V[[_UU *]
 V*  EYl +*2 5}~ )(4 21
 -, 32~  f6`ab`c4deefs  t-B4t ?
r$r$t (r))0t r,J	t #t-$6t t-E>t t-t 4"r/t ,t--1t t-A t t- >t t-At $t-%At 5;s0t 2t-3t 4t-5Ft 8t-9;t 4t-5t s 9t t-4t t-At ,s=8t 5s*?t s<C6t t-4t t-4t 6t-7At t-t  t-!At "t-$t ,t /
r>9t 
st 
s'"t *
s94t <
tt 
t*t%%t**t-))r   uvicornfastapir   r   r   r   r   r   fastapi.responsesr	   r
   r   r   fastapi.middleware.corsr   urllib.parser   r   r7   r   fnmatchretypingr   r   r   r   ls_htmlrs   appadd_middlewarer   r'   r   r.   rD   rw   poststrr        r-   <module>r      s     L L U U 2 "  	   	 !  
   
   %%%     #	('T .?CDz pf pfs pf* pf  pfr   