From 361961cad4908868ccc4de30062ecc88f7b449a7 Mon Sep 17 00:00:00 2001 From: bot Date: Sat, 14 Dec 2024 20:11:33 +0000 Subject: [PATCH] Automated update of Base Application package. --- dist/app-1.0.0-py3-none-any.whl | Bin 7188 -> 7503 bytes dist/app-1.0.0.tar.gz | Bin 5760 -> 5998 bytes src/app/app.py | 38 +++++++++++++------------------- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/dist/app-1.0.0-py3-none-any.whl b/dist/app-1.0.0-py3-none-any.whl index 1de520442cd7bc74d45b3369eaf28a0922d177c1..00118f9d1c4fbe40403013b6c1e14897efaad4fe 100644 GIT binary patch delta 3585 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 diff --git a/dist/app-1.0.0.tar.gz b/dist/app-1.0.0.tar.gz index dbaf7216fef5f9a3620f4ae31f759bb832a8e11f..a12a108c38a832a64c4bdad638b3486f9444f4d8 100644 GIT binary patch literal 5998 zcmZ{oRaDdgx5X&|X=!Oe5XqsW9bgzzy1RR5P(m1_1q76Ckdj6TiIG7-x;vypIwgjI z`Cq?p-Ix1t*I8>no`-$*emFnYctS$29SbKMz{bmqUq}G-Z~Sb0u#RNie3zQPp%^ek z=8nQKYESpwQO=1{8dTp$L|sBIoc|=&#XwT(hqKvDKE)O9Y+UBJ&>T1 z@cm$BP($4J{6mfo9|eAX4g`C1K?)o{C8_Gd(pM3CwL3_vkacs(LuOa7gIv;aMi9v` zIE)V-WSk_3|NZWtJX!sw<(=#JqEY-;SrNRB+I&7eo z)k@Lfl1@GycSZhf`X5!<$L(1YhkrkE3Uro8Hi@e_v}zVa$N4w`Qt z`T9RT?DEMATO$)`P#=yLQG;B}uhD3lpX4gNOx259;2Se}r)jfaTDpx~0S@kwWbj9* zvH6yxJb^bq09G=t;LCepC4U7tQNq+kVz14|T2GOmGrhTIy{TojeYYKQmt9Kq?8)yo%qT`0O<03$ye=<3K1(^k1R0)DfsZROzo z)F;L1)frZE=u^Upi)*)M7;&LM`DU%%VB5lE%#-;pNj&hpsPAKP*un{SIY?$mHj6|- zGO1iqF_W>{qOhUY?y$>wtfS{pnXfh9DE!!#B~+OdB@2lx1~-zW5Gja?gfiBi>iI-m zTn5QeCV-w?%XusBJ)a=S&gqzqOE2U`UpU|_m8(dlXG{`9@MU~^^5N&HoB96b(r#)A z7(K_hG%U#4S*P$4DLn&lY2163Tq5&!;b`~UReK5MlLG@d@-K4wV0HNxxsC!>oXf@l zF<|Zv0CxlB*}$qghWsmLxf;kh119VXQNaB=aC>(R?gK7SbvpnJ=0rlCdMnZHS&o@G zkdX%@I;Je5PVA+!ozW)(3iWCmqR(s)=J*qnpq`kJ4aaxaGKrcIr4AH?PwwTqqlQDh zPe;%vZG4-ennoTSAXYPvohQ6|_9e0snEC3hG7eZ;jPQ@wt%*-IAAImu`hcy zuzB()$!d%h8HK|f{m?|E=a6&6>gO{J{yzD_#Hk5$wIMh^&~!Jqp1utRJ1iF66})0R zhl6I%;dJYwAB=ilPdO+>@+7yoC^5eh3gD6sf93EZ{&DpBlwNqGt^dxeToDT5(&ibP zy=p|%!z+{AZ41M3C2h9N4{NC^fts|$wrU$9lG-a_j>@JOHx!Zz1!g=W-)v1bq!Seyg6|z)4AU!r{t!pmfD>qu@bH=QwJIgxU)#OKe z#J^JU*Pn2vMH2_v61s<{(h?LwJ7-tqzknW9DOOTdgR%)hF{v8$EkENF&mM3y36Dg7 z(Uxq1vX^)0VHsPyNDocvC7ANRAg~lGMM-@yWy7kq+;x2H8yakQ+hH;;X7(QU_II1S zPQ!Y-sE6G8pmx9_zwL1EMzuUdfzRm+xoD_cMF?2ZrrrX z_xR4E)0WSL=~0HG@OH|>sg+wl1JN2!XLwH&kB4X-4R3Zvq&BbuDET4rBy zno+;sK12j~pd^vO>-eobos|4yg%vlQ>{Xl#+@Om? z_Wm)x3r1MVbcI}Fbi`$}qbifbv}^Liuz|S+TVeXwjDfo&?VwfV+T9nIBaTmm!DY$OlFxv(%+hI6BVwxh{;5vfXb;S$FU_Yyp;_0qimM1E%fkqYQ{8JCH0M{ZPHHs7$T?wTqd*Cg;__O5`6i{u)2nN2l70sg(}lb^7e5Nj~)pnLQq( z^}KT9Nh}&Zw)cn8Zb8Xq-i!RnMC{@h;hl~HbD1-?lmr$+E`r769`rXQ3ST2V1vMP% zIctRC?EjjX{LTnB?SYeW(zA zumTd=sFKWc+}Ls2L0C7@yFcHq(;M~t<3JEJ*lAG3ow8gp*1%M8Fbvas(qbAe!ye<3 z&DJ_zTF%!GU2`hA2!{j&`wQcZ6d!Z1 zK`KW%!Uhc63P=4t6f88JbITi;KubB6Xp9%w3Nxe;!Tc5mXBMrj%x_fbHf6WqDy81k z9<(QuVm~7BdXzTkg3dP-msO`<)6UJSQUH;>x2Nk^I{Y0Eu7266OcINrN%64quF?0X zxLVs}Pe;gr>oTra0Jq`1G6&Vq3-h~5rv@f{=AL{CB~aX#XWYvAx;u46e_s6Ud=U~; zJj+E>c~f#GMWAzZ+mRBc=9(1(l#HPgo~p3;ZgsUO-TQ}2Lre<#JPfVe|EVskC(Xd( zO~_OmS+Yjy%N|dh?(!%6=rKF-3UYNTL!~pHh-?!R5k0pT^UfcQwhM?V`koHtoA<^>^A(lFONS0?#*Cwd;hXNy);@S&O78%Q(Rd{emZyC0m$SUI9 zD{op?`FF36^CKID_xoKtVB=NsH&^J+bt8iuUg?sj^}LZ>DW8_aJ}_Qhd;Cf01~%^> zOja|(I!fAkG7$Hp?0<*)^|BCx$B|u?CuJP-U1U;vX$;?2X~^IN%mb0Szd7X^EV}T* zCb4M=rYW+I>Wow!zm^CXzMiw`z$$H=a&0`1Xxixz$4DYV~U13ZKDb$W9@g~LW)&}LQ;K|3W)V{At9bzJ+a zR}`pi(RA;4c~W3EUGtYB@pSGaS=_$`a(f6t>=bP>-*Wk96?Q{S&W#6I4T~&1VA!ji z3B9#*abYF1ZcdA4jF9}m<>ok+GgpZo<-QuG^3v8Rw&4kO-Qp)j1@XUmEMgVeNPfWt zK{DsK^DJKBduwO$CB22r!O=4*&v5Mj1TYpLAj6Ea3aXLvtrIS5!(KdR9`xI4Ip(~u zp4PnhX1~Aqked9_q{-xr87W+rU5eOV)3tWuv*gtQ=iTo~4PT2rs<5-$q?o z;M&QCG~%R7%NB(GZeFH%Atq?4EE#-L_{oAHboT{>mY^Z=Gn=WD2}NN4)sQM$O4V)` z-tipYBM(GqTqmigMqD!2Q>01Qr1QuZd$UZAY?JfV)j*I-7AP$;P5IjOBJSn1Mi?pC zfn?f*+tnAT#-^j#_vHr$gdm%U(ezs_I{SG?nc?Q}${sVAh?+-(C($p_)YPh`=&Hjs z1N}cU7Fr?3()^Btww8rH?)j!_zHt$s6_opo)xQ#9_fMwv)XZvmSnydnnPd){3575* z>4~K=;Pc&G5~+*O;mP2p91~uNeDv@4;iJl=xZozis?hwwZgwvGA*p@g;HzD~?w%0A zA-4}(EW1jD;D{rMiT1Cyt%T@-t~(ajPcl0K3H1orREuNIAzl;Am$fT>C!9NDgjx7H z4m_C)pR}Vrs@>v6l)KM@A+=l&sL~DnR@MkuVkee>&`Z9*qr0vVR|tQG#h%YslU$tk ze`(LPqz(sro4g##Q)L4YdXUz?rY!<-cZUzO?Bnc&&}IGoRAozwN?izSVNiUhY#7X( z+=yt{iluydK(9>Vf|iUubrJ8#T8pqBg7HgMa3z5tUUr+i-8>|ew)V^z7y`ZYhUj){ z`R~>guXvq4SPOWm-K<~j?h@@NfXhB<;5%W@FR~t73! zvgEkhA}c=6`kSRKGAy~p6DDgD#|(l=vLD37X^RMsh9^_{73wonPNWYfJ_+YG`IC;K z(HZ5HP(&nZLr3@J(*5SD^UIzal<@Lg3%cqa!v_Fkbv&zTSFUm?-EBUsk&CkjCR7A->wN|j*xe; ze6*tIl^Tpl?pMYZ{-&95POminF)u2WYc|&I>HU{Hknw|nTajF%qcA?LPYc-7cOS)!$Oma7$}a<`rH91Vp_)qt3%n4ISn%pQpxh^o^$P`7~6kie&`% z)A6*^tLap)e_HuMk(=({VLDy*nHiaq+V-cH^@&oh5D#$^r9ERBiQANgzLXgFY;SMw z6vIcpCj1HOk>hkc$0}Eyd=w`lPM1B_8j{xjB$OKRsNj>9@VNPWsQr_B_$$uA?CQ|?EpirU!qi;?x&WBmuzdz7k2t@NQ2+{D z(I=W+#lU`DLnEA0F$6>PVsk@2<`71jZTV=)USXNwvh#ZM_Xd6z!4eC_$|{alYP$G14Jb~xCupGZzNtV?daR6<;%D9|soF{+oC zP|mo%4$BWe8n>C~+kA$E&nE8yWqQcF{5bO(6}g|i7UATBqK!}!UXtjj(J14ryj2c? z%ue@`=@aVWt{L0x+T8d~r#IC%qV;CNnJkJPyY@d%3Yl3*Z$dVoDtEtC;drse3|aB` z)q~Y6=1?hTT5^#InhT2RHp{6b2_k3?57=C-Gj^L-(&*#YvB`?|Sq3c>PIf;E7(8td zn%JLaM9sZeGd2&}u>DzHUAPO)$OH^e=)mlCL^vP)^!CVSp|Q-n8j@>Gv~#VyWP+&F z1f698wYdTn?!M@ZlN232by|qGJ!VLTOABj5FWnFC!$=ifzsr2{PwGpPyg+hSX52`Q z3tln}=6CEKeblE^owzfu*#C%8QRh>86?Ko6CB}%nEwUqiGZTV0? z`ku5NmvVwQT&C;N=QpQPy^oClsqA!b&0dRoS;`_Gm_6qBQ&;o1B=9y=b9QJy71Za` z>+Oo>z^6^y07RDXNtEfdc5oF#7V2ZRX49zN7x* zqp`;|lT$k@q!krLt67uvU!?2|R`G@!uG+M|&*deWEO&3mJDW8OnqR+5{EnSXD0hCsmUvjo z0*IG}rt1F`A#U86x0)APvsrjayg*1pIv%F-C>zVck2&{Av%ISHq_)3g%)dd5zjezi z4;$pI4ZU-|GR`GX+xh0e^O#KTJBQ}))v&Em%DH0qXi~fhk1p%U2dsciWA)2W?;n?( z^=t84lA1dgJ4=*>V&h5j9;DK9g;mO1oK)s)S5s+>vsoOFmdp1<(6y$iJo8;61_HdO zjz@E_VGpR02)QWu$uRhI^7@eRqW3L<@sBqDONJx?EltY;5x~s z_2zHHuiIC8^t5z-RI84OMsG>Jco}{qc=cQsyQ}&!eHMYvx_R+7G956*9C&G<3X11` z*Dzq!wgKYwN&Dw;2?l2r5`sb|hBG}|aVEODZ3mmN)`t*W7PLQZdI~~2(8k>0T!% zyG>T#vR7}9^;ceb%5~v3@rYhMHQ=ol5W;<%6m-+tUDWJf6yT)(m|(`gz3K5)bXwT; zF8SKPN@dsBgFcZ{y6!|d-HTo{1%~=|HDGcYP%;IU-ebO70r%fSf<0xJHT%%nxWAR} z$I6Br$iJ`Ln^^!2dw%HKn3Ij`)vFeaIQ>gDy&7Pd98-4M+|3PDw+)ZKgQKU= z;$!41i>SW4p*f%w1D{g0z>GOAVvs4xuur0xw4m0!zN&F7REs9;#LuOFlMSVd%!8$h z9^;jlofUi#cdb)lm@$e<*ypq>-tl!6eXE^tTao(JKtoJ`W6iNl>+BlOdCNT)6g%2* zrCaD-!We`6_S;ec@!>nCcoNmK5?1G%?JAZ3WlT0s=g1F`mG^h7B+&*aFayc6MF9Rx zUhopl+;}(luO0tTl-U+M)i_I#@HB6OG}C$c6NSfSLy!8^qfxn4gxDhX-+qSez^Se;9rQP?jCF*T^H^)F5!C^ zxXhOU;K#r#B+!zBqI23l_qq!$i2jdT|BbsF3ZCPXVYCDs`~iZ4IYI!q(M6q6JDJpO WVZ{HH?p299us19>59<^Q>wf?c3Oh;w literal 5760 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 diff --git a/src/app/app.py b/src/app/app.py index 71d4789..0efe743 100644 --- a/src/app/app.py +++ b/src/app/app.py @@ -1,8 +1,9 @@ +import argparse import base64 import json import time import uuid -import argparse + import dataset from aiohttp import web @@ -243,58 +244,49 @@ class Application(WebDbApplication): content_type="application/json", ) - + argument_parser = argparse.ArgumentParser("Web service") argument_parser.add_argument( - "--host", - default="0.0.0.0", - required=False, - type=str, - help="Host to serve on." + "--host", default="0.0.0.0", required=False, type=str, help="Host to serve on." ) argument_parser.add_argument( - "--port", - default=8888, - required=False, - type=int, - help="Port to serve on." + "--port", default=8888, required=False, type=int, help="Port to serve on." ) argument_parser.add_argument( "--db-path", default="sqlite:///:memory:", required=False, type=str, - help="SQLAlchemy db url. (e.g. sqlite:///app.db)" + help="SQLAlchemy db url. (e.g. sqlite:///app.db)", ) argument_parser.add_argument( "--basic-username", default=None, required=False, type=str, - help="Basic Auth username." + help="Basic Auth username.", ) argument_parser.add_argument( "--basic-password", default=None, required=False, type=str, - help="Basic Auth password." + help="Basic Auth password.", ) argument_parser.add_argument( - "--db-web", - action="store_true", - help="Enable /db/* endpoints", - default=False + "--db-web", action="store_true", help="Enable /db/* endpoints", default=False ) - - - def create_app(*args, **kwargs): global argument_parser args = argument_parser.parse_args() - app = create_app(db_path=args.db_path,db_web=args.db_web,basic_username=args.basic_username,basic_password=args.basic_password) + app = create_app( + db_path=args.db_path, + db_web=args.db_web, + basic_username=args.basic_username, + basic_password=args.basic_password, + ) return app