From 00a15f0c81c5815b4071a9613b7d75ec0f44b00d Mon Sep 17 00:00:00 2001 From: Josef Date: Tue, 24 Dec 2019 16:53:46 +0800 Subject: [PATCH] added dependencies [dev] closes #18 --- .coverage | Bin 0 -> 69632 bytes notiframe/Notiframe.py | 29 ++++++++++++----------------- notiframe/config.toml | 2 +- setup.py | 14 +++++++++++++- tests/test_manager.py | 3 ++- 5 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 .coverage diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..f840af95b7d16ae9534a8b99b83f05f8af13dea0 GIT binary patch literal 69632 zcmeI533MFAnSiUOd#2~?)?rzaWl8N*5|%Wh!?rBhk_;GZE`v>o7h{ilW?ItVndzaY zM?M00#^wQ8VC~1UYz!p8OLntM^4KiN60(~tli-)I|+lktQi#Z$3(RMz9EDM_DJ%+T4462l`N_`#Tm1NM^m_$nNaK`dRFf+W&f zJSl6tr5(!dZW5rVO;>j5h6f~~#HUg?gw$D#-X&?uq@pRQsFE>q(HW0*dAs)S_41AN z^~@~_DU+;4;h(RnG~iJ#%7#fuD5`2Poco9-r=rtJrdyIrC5)<&&t1AvT1`y`byZ5l zQ>2)wOk9tvDM{I-M6p37Jc& zCf0I9tQsPdJg2hB2q3>Un@r=%ff$BjT|HaOv&GfbVqxEQ-JGE=%jK=AP7^t*gEV+nHOgBZh+Ugd=f1Q@Zd}8BNLiET)5>pWSY7E2%aT+=>zjNu4B32FI3+$^mPx zY%@UuKjGLQ!;^YU+L1DZ+7vGEiKGG4>6-+Z50JyWkP06o}n8x zA0-tzlhw?Q6Ne z523n9aA@A3C^Kx{NFCF126sN04k@Cl2}MpBLjnZckO5Wkj6_tQJ{XOa)5z?`X-v&@ zkgS+v3hv#ngtlfjE4WA|}jW*k)oOc4`B%H>R{ih z_HiYJ`|w}9N_OLkOun7r8<#C(^4Ve=G`g2?2FCKFY-YQ7>!`AgQy!MhWFz#mFv+Pj z56rFt2fj5l;6BZ$!H7Y@3{{-sc)J3SOGZ47;2(9A03|>PPy&PPy&=?_=CN$U06uciAL?7x)7RhAKPdIB7#{2&UOp%~*p|lP3;X50q29ht4A+`( zHji3t?Fde*NhNr#no%Z$y$LlcCxV%2IE@vYiEDaRPAI9FOz<*Qk56iF_#_yKr-JF- zx{}d5x}}bu9ynppu?-*c=fr1`_^kN4_zUr;@4kRE1xkPtpaduZN`Mle1SkPYfD)ht zC;>`<60o0upKWE#{RPg=HZXX5f%UO1OmQ#4;bU7p<}QL0GKA0ngR7;V0kFSzs0K=a z5}*Vq0ZM=ppaduZN`Mle1SkPY;7?DWro#bB8S!tiYS9pX`dmP zPy&Hh)r`6Oz?@$oF1X$@w%h4V1m8O|s*f{(j z%qV&`t)>#Y;p-A>>G%JAa4n3MoD!e}C;>`<5}*Vq0ZM=ppaduZO5g)QfMr+|z@PtT z#5WQAqmB}w1SkPYfD)htC;>`<5}*Vq0ZM=ppakBB1XwoU!SDaa*d8RlAf6{S2rmi+ zVViKN5D2^$_?y6A_#gKl@^AC6_pkAH`)hqa^3C&p(W`sMydlqV&(}SVdOAI|?mxI+ zbAQ2opL?%6>)zsC?;hoU%zuX$UC+Cob=~V~aUth1=N-D=b+BIlW}nTV`S&+SNG(!8Q#c^f|)wOu-$l9C$M=D1w353;`#^GwZGfbjy$g}$U9xj!B1H3;0Hn04F2%>o&mVHW}sRJ zUwJE?f2VsBdXq)J*o(&I_CxUA{>tYl%{=XF>I47&zAArwGus#sVMEyzdiVliydSY^ zQ7FF_Id0<6qqiRNf6`F{MRX!&{E(vtp?%0LAv6KGIUkL43>tSoikO^~M@T|oAD9Ni zq46f}@WF`%XkyDF;|SHN1`j2U-;_loO$v z+Sw-T7Xr}4T|PG7xG?^vD{rc=+3H(-H~Yp7r+dD&&zsD&6b**mzYXQ?c$%*XK~?8| zb>HTv_qs0gbwYugIuROjBTnwX^>=OuN$s&$A7gNTfRI;$>V=-F?1uFp=CHj~yWB>w zpa=eG<$muAH+#sV*^k{?`-$V*qPIWO#G>4~nm&hnDd?+P3g#j#fvdJ9BwX&PzZ!2@ z4EIBe;a)=Xc|NzOaO8yox@O#ixw#kNXp5jzYgvecEv(WEogG43&?lL>3*cez0`f3a z3UY*9ErI_YspRucE^-b}JH(#Tj!nF-4KA00zTA;>F&jTLk%m_A>uxpDoR6-#BQ^)2 zxxIPcd~6tV&8lvCeeP9v9q7&-XfEV7Ul4EZn|*>OcuSc%`a~2L-)h$cEuRruAd_t^ z2rd2wq|dqs=E42+ytC;#w+ZLu0o{1+j*#D`b`Lb;NX=)9bgKXTP${9qfhLGFzX@s; z?LoN>1C2P1##6&q-xnNPz~l4d%MHY~8>*j|?v6qALhy;4`!%nCHqP`LziXAw{b9tJ>*UJlE18mMei z{u(LY=*N}R3oRF1DJZ#{MW1*%RN(OS>kpqiDAcmtBVz8LYxWS>R}Ioe-(aD3(%%oH z3lHA%)$`W;_sdfs5`X>qpKDLOe%ILyizNJ(e}47g1(1<@*kK4b8OfZ z?(j({U(t=9bR%{jnS!Oada-q{Fh?k}uMY9!1pt-%;{L}E_kG=rc)B#~>BeJ>VSNyw z9esyEFeL>y(CmSX4H`W<+)s=WZ-kD%&W*a^(TzoO#Nw;`&ls3h)SO!k1Hy~OpKj(0 zGdHf^_lNz^10l2&-TKs2+ul#*7YIDWZ{y9tyzC;a6eTWCWL@Ha+&=zTptsU9ov#( z`Zx#?BW8d@6|n}v znv-TtLx2W++EcLP*@2TRtPd7SC};vNcv~6H<1y;;6V%42fOh zLa{}hBL+m5a8fuX{8sp-@RIPH@B`sH!Z%e`~Gcz_u#ONpyYt|64dNmOv zBSZ`j6R~O)5ko^ntXxUNiWNjGUrxl}AQ1xtMD+I)(bq>rC`3dsNJMWh5j{ObbaxZ6 zY#9;foI^xc7ZIJEM09izv2-aBOO_C^crg)+77?*yMBN21w64B5=#GE-q)YlVHS4Tu`EfF;}M2I30fV*=!i30?ock879~jS`>)C;>`<5}*Vq0ZM=ppaduZN`MkThYXV-b4ZauTklS11{fOruxLw>UZr$I+ zd|mAGeTJEEe#N=j(dm7G{SZ3DKjMB~c+&NX<97ZE&wBKxOLEt__OoAd92HdIyMfER zyZo;PKI8w0c%Sp%EI=0F@)z3i>xT(-YAT+Zg5N&uh;sQ2cBn|p8C{9QQ=nt1T|eR& zQzBWjAWIxFmtSW`Nup{pE$dK@bL?U@8Q-O6H6;T&x+b~&MmtK8R8u>Y-B6I|G^kl< z7c4ECN+}v>=(Y>iwb@i$-<3>&4#_UVg1X2ibZ8}@q}_KRy4r%ae1;^FTz;D!buDKy zil)caR4^Ql1Fdiv%F&zP@>}iIrYSo$__b9~Hh+rCUtx!`Nf|0;T293h#L8M+`|au@ zV`@}aGPvFM+ob|p<23wOEvRU=ONFMSRZYh|%fPi<{=;@uNmAB!1T(spjhdZU;{=yK z&kj{7HAZ^LxnVB9)(!_nqHy_3?JxtQ zNVr^3pkceTOe=|WR839B@jw~ye+0$OFv?l#W!E5Plp+Wfl$N!OF*o+v)hS2iH0~;a znOD5eajB(%Xks5+0=9Pb%8Z=I%B15Ov1=+(Y=sr03jRJp+dCC}{$JvFB;G5o6ut*5 z`G9j-;2#4Q@Xz>P^5^{ve2+U1xIW7#c%Lug{k`{Y@1W!c=vJl-P||19nM!> z-LA@Sa{S;LAuTy2@aIXu>KzN1?85>QW@0lzB^gm-Fy4<@Jw?{lWFn}f@I(*qx{TVA zeoQgbUt=|+umLHEH+723?V+t)ewCGT;xugMDB293Z>=2X@@!Sw7s1+MGJJj<7O)Cz zm|Ujn@e4FLsRUDSHA$|pAGv}AR*Z3Z=A9-`F`g}d`|&Z3OpusRQclTJq=E;xbNR6< z{k;h_Dkp-OX<1W(GjUDN$_XVklOaVh3IKZyL1X1P&^r{&z!ptUT8{33Bs1V23`er@ zgiaQ|eO9mBaq?t!Ra}aMtlqLKDX4%Pw0aXYscK3XuxYxgCNe>M3%1a+jmxjGx-MX6 zb4tOx=F6-nRqBq?i7f2@gOYjBo-g(Ur&TccYjH~mzH4(TDN$0O19P&mAf>(ePL<2c zR@cRhl8Ql9$HJx7BB$f&9eAh5+3|K{6 zg+5D5##3^F>;~guNw|i~k62whil(VJao+N(fYvd!J6P^?S*u4?-2Onrw5smFTeF-^ zC4g}Ow#l&ur{%_Elpw5Ya@5!@X|h^{tm|43R)jOq?HZ+6WY_Ftr>v!*6qr=2)pcRc zaP(w47RUCwz^+o5%?@<9k=~i>)3z%-YB(dN!R-$haG< z!RP-w(8uulKLp>_pA!6mhXR-Sf9c=jZ}dInyTCi^-RTuQ4|&$PpL1v2wfsNxm%Cne z?Q^v||JAvPdzs5~t?Xm$m5$dOw>dhQ!%P?*hveS1lRG$+ztFJ36m$_51%R!Q!ep+wwaW07aMDU~EI%D?8>={>^Q-38&Q>jGdD5Ud(n5G*~%!owA!W!P--T@_ty{0UGR>N}T@wKMKF! zZ0V>{F~KWsP~-J~6W?sS|NnuoQ)mc092oci7}ozSzQ=qY@-=vW;JwQ`Y? z?q0(`&))zMsG|fZ0ZM=ppakBJ1R`TF`dT@quN-}gM`E^*f(|REL#G^x*}le(^vg$L zwy(B0eRJJgJoP>`0_oeaQ$QB*6{k95!=T8HRbtfvkjYh`#g@f2Ic8Ei#2*;~Jyx2o zSuGVOm9Ab1I#yY^)G41-8e0Krvz2MT!;?y*%OL^g9VSq5h-P%~ZO1?3NhNsz;@h!$ zE`Ov+?zc%r`Lkc!`as24CB=7rK&JA%RX7C6Te(w;*Rz%9t)f9tVCAk{NkN6FBzi%~ zHVYw{ZLR!jp+cL|1KO;7MRw-XT@&4)#>%Y*vrwgv$X>GyG_0`@8?Kwu`LT&}Y|4M> c%vGcdG}zI_R(u{h+6g+WwcpYKwNgR;5AH8@Pyhe` literal 0 HcmV?d00001 diff --git a/notiframe/Notiframe.py b/notiframe/Notiframe.py index 954add2..363444a 100644 --- a/notiframe/Notiframe.py +++ b/notiframe/Notiframe.py @@ -15,9 +15,7 @@ class Manager(): def __init__(self): self.manager_id = gen_id() self.devices = [] - self.config = {} - - self.import_config_file() + self.config = self.import_config_file() self.construct_from_config() def add_device(self, name, resolution): #add parameters for Device class constructor @@ -36,8 +34,7 @@ class Manager(): config = toml.load(os.path.join(mydir, 'config.toml')) #config = convert(uni_config) restored_data = restore(config) - self.config = restored_data - self.devices = self.config['devices'] + return restored_data except: return None @@ -48,6 +45,12 @@ class Manager(): with open(path, "w+") as config_file: config_file.write(toml.dumps({'devices': preserved_data})) + def construct_from_config(self): + try: + self.devices = self.config['devices'] + except: + return None + #def update_config(self, new_config_tuple): # new_device_list = [] # for dev in devices: @@ -64,14 +67,7 @@ class Manager(): def clear_layout(self, device): device.layout = {} - def construct_from_config(self): - try: - for confdev in self.config.devices: - dev = Device(confdev.name, confdev.resolution, confdev.device_id) - #for cwidg in dev.widgets: ###add code to construct widgets as well - self.devices.append(dev) - except: - return None + @preservable class Device(): @@ -91,10 +87,9 @@ class Device(): #generated self.device_image = None -class Layout(): - # Layout class to contain a layout and functions to manipulate that layout. - def __init__(self): - self.layout = {} +#@preservable +#class Widget(): + # Global Functions diff --git a/notiframe/config.toml b/notiframe/config.toml index 08fe310..4bd7b55 100644 --- a/notiframe/config.toml +++ b/notiframe/config.toml @@ -1,7 +1,7 @@ [[devices]] name = "test" resolution = [ 1, 2,] -device_id = "e79e6f13-60a8-4dd9-b7ba-665a0939f9f5" +device_id = "1f85b632-4457-4097-859a-03ae24cd3ad7" widgets = [] "<_jam>" = "Device" diff --git a/setup.py b/setup.py index 2a260e3..a7143bd 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,19 @@ from distutils.core import setup setup( name='Notiframe', version='0.1dev', + url='https://git.distreon.net/josef/NotiFrame', packages=['notiframe',], + install_requires=[ + "toml", + "preserve@git+https://git.distreon.net/novirium/python-preserve.git" + ], + extras_require={ + 'dev': [ + 'pylint', + 'pytest', + 'pytest-cov', + ] + }, long_description=open('README.md').read(), - url='https://git.distreon.net/josef/NotiFrame', + long_description_content_type='text/markdown' ) \ No newline at end of file diff --git a/tests/test_manager.py b/tests/test_manager.py index fba90e5..c1de780 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -12,4 +12,5 @@ def test_config_dumpload(): mgr.export_config_file() mgr = Notiframe.Manager() - assert mgr.devices[0].name == 'test' \ No newline at end of file + assert mgr.devices[0].name == 'test' +