From 4e0907024ae4cc55dd8afaf741ed075696153723 Mon Sep 17 00:00:00 2001 From: Oscar Alvarez Date: Wed, 9 Dec 2020 14:44:39 -0500 Subject: [PATCH] Minor fixes --- 0 | Bin 0 -> 18597 bytes COPYRIGHT | 2 +- INSTALL | 9 ++++-- INSTALL_es | 17 ++++++----- README | 2 +- app/__init__.pyc | Bin 0 -> 167 bytes app/reporting.py | 4 +-- app/reporting.pyc | Bin 0 -> 20875 bytes config_pos.ini | 2 +- doc/index.rst | 24 ++------------- lp0 | Bin 0 -> 18597 bytes project.pro | 2 +- test_printer.py | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 13 files changed, 100 insertions(+), 36 deletions(-) create mode 100644 0 create mode 100644 app/__init__.pyc create mode 100644 app/reporting.pyc create mode 100644 lp0 create mode 100644 test_printer.py diff --git a/0 b/0 new file mode 100644 index 0000000000000000000000000000000000000000..7f8ae31c6c1f557d845fd23e49cf412fe1611a76 GIT binary patch literal 18597 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 literal 0 HcmV?d00001 diff --git a/COPYRIGHT b/COPYRIGHT index 4db27ec..c665520 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,4 +1,4 @@ -Copyright (C) 2012-2020 Oscar Alvarez. +Copyright (C) 2016-2020 Oscar Alvarez. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/INSTALL b/INSTALL index a873dcc..fd382d2 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Installing Tryton POS Client Prerequisites Client -------------------- - * Python 3.6 or later (http://www.python.org/) + * Python 3.7 or later (http://www.python.org/) * python-setuptools * python3-pyqt5 * python3-pyqt5.qtsvg @@ -15,12 +15,17 @@ Prerequisites Client * python3-dev * python3-pil - * Optional, Pip packages: + * Required, Pip packages: pip3 install pyusb pip3 install pillow pip3 install qrcode pip3 install paramiko pip3 install pycups + pip3 install requests + pip3 install simplejson + pip3 install win32printing + pip3 install escpos + Prerequisites Server Modules ---------------------------- diff --git a/INSTALL_es b/INSTALL_es index 95a2055..9e1e328 100644 --- a/INSTALL_es +++ b/INSTALL_es @@ -11,7 +11,7 @@ paquetes instalados en el sistema: En Debian, Ubuntu y Derivados, se recomienda usar: $ apt install paquete - * Python 3.6 or later (http://www.python.org/) + * Python 3.7 or later (http://www.python.org/) * python-setuptools * python3-pyqt5 * python3-pyqt5.qtsvg @@ -29,12 +29,15 @@ En Debian, Ubuntu y Derivados, se recomienda usar: $ apt install paquete Los siguientes paquetes se deben instalar usando PIP - pip3 install pyserial - pip3 install pyusb - pip3 install pillow - pip3 install qrcode - pip3 install paramiko - pip3 install pycups +pip3 install pyusb +pip3 install pillow +pip3 install qrcode +pip3 install paramiko +pip3 install pycups +pip3 install requests +pip3 install simplejson +pip3 install win32printing +pip3 install escpos Tener en cuenta que algunos paquetes se deben instalar con pip para python3. diff --git a/README b/README index 59b1fd3..2d83e3b 100644 --- a/README +++ b/README @@ -32,7 +32,7 @@ Update Translation ------------------ Modify your i18 file and execute in terminal: -$lrelease i18n_es.ts +$ lrelease i18n_es.ts Copyright diff --git a/app/__init__.pyc b/app/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad51088d336caf0c98414c077dbd12ad4ec77695 GIT binary patch literal 167 zcmZSn%*!<`@=Sa(0~9a_&$g8X9r l#DW6-`1s7c%#!$cy@JXT4xk>J-29Z%oK!nzAiD&J835($BP0L- literal 0 HcmV?d00001 diff --git a/app/reporting.py b/app/reporting.py index 98c2ae7..a43cfc6 100755 --- a/app/reporting.py +++ b/app/reporting.py @@ -137,7 +137,7 @@ class Receipt(object): if not self._printer: return self.print_enter() - self._printer.image('image_test.jpeg', center=True) + self._printer.image('app/image_test.jpeg', center=True) self.print_enter() self.print_header() self.print_enter() @@ -675,7 +675,7 @@ if __name__ == '__main__': # Unix-like Usb example device = 'usb','/dev/usb/lp1' - # Windows Usb example for printer nameb SATPOS + # Windows Usb example for printer name SATPOS # device = 'usb', 'SATPOS' # SSH example diff --git a/app/reporting.pyc b/app/reporting.pyc new file mode 100644 index 0000000000000000000000000000000000000000..abd5e463e0fd789e1a5af46be68adaf2aa78fa0a GIT binary patch literal 20875 zcmcJ1Yj9jgc3$5Z03<+w0Eq_yk|Kv9DM4D1ASsceuv)Fa0Vu)}2iOZpl;D-d!+_w{_i`)B#0i~pqY|EqYS zpGi4a!avWgJGa!xdv3`SJmuC?ZX@NEQqCh@+O4PEMu%JKa9+^qmb%>bK+-@LUvE{0 zoacFg=T`T*Qiprrb6&-BZ*LC?t<$aVcN^VqsoQz&s9jCeMvFaesb^P<`x2*toT&d439d?0ptAnm|(5fZV3bpxTRrN zIgykeQfbC39aia}N}WnaTrk9*myYOl)UA%W0Qq6}KA3Yf0UmR~QKI#RD;~Q%9>04P zYsTswbtN>0dQZ60uvYhhBh9#=%Y}c-L%Mp(y${Hf4%IQ-;Iv!Dv>YKa z;O{J*ai!4&I@W-mb-`1vbX0@+YN~Y1m5#e*^!BtXr(N*0D?Q=HN+;YEW=|rUaaT&G zT~DDv~$o2B4hW}{l#Tn{ppYCW@D-K>;OHL+`9xl#{8Vb4Ux zS~YqUI~qY#+0EJ>MRoS*2gRUVtCuezU+!kofuv3v3rcU-JCR4*<*ho4Zp_`BiF%Pa zUk|tI)yhOY*r?U923@6IKY;(dQbg=> zg6MNFS2JoY%z-`I*+98+(QVAN5a<9EaX z6N~;ki*vb&S{Ov-wLI7|QK;1>!k|_S>*dPI`P#PlwNb4E+b^MZ#BQ8-*z5O-%<&IN zxrQhD10+~url_d8M)eO1B;`IxyQMU>)dxW6pdMnT)0H}v>2jqmWuT(=DYKvJi#Xj5 z>V%mdY7}OmU=An)9n-5!AC(G=4pO5q1C`US47ARGGEh8+lsW96PKX2bGpGy{4@gBi z>^{J<98Q-1NW8S6WBi42&VDqAWI3!tP%9wLXjTnmi-VNfrW*Nfyl*~FR2;)%Wk z0l<{6f)O5P9W$NB>_Q=fBdG+^kwDT3q%(m?X|q;W0_jX}_9YN$YvSxrAX3bPbSIGg zNv)m)(w#sKB#@p2(wjgIB#^!Y(wjgICXl`a(w{&MCXj&y(w{&MC6Ivxa@ak@@ImUJ zs}CtNoZuWHPWV}`KGFt>*@(>oyhRb%i)lOThU0=GdqPJaf$o6GkitPX%I?SXGUSf% z<)~hUt>jqJ`$$6b@dR=tfjr?JVln?W4`~H6t3{qa$;`qyRbZ}8jnr6NQdq_6My*iU zma2&g>p>n$5(-4?JGxV?XD3p*rh^kV+SoN$NMD^hWga)M5^0mVDMgUzy zeOU_D(eygCV4&Jz^?ts1rw|s3RN~m!pqJQJS$dI+qTYuDgSyX!Q?8e>iW-noIVxg5 zsE=oeNL9XGU0DG!8sbV&e*>>E$t*#ZJ)l6t%qM&#Y57)0vg5os$wu=rD+LuVNn+lZ zN%rNN+$7!kFlexolb3JsQ!R+0YInIRjw&Csv|lZAQ)}{++gDzEeuSxH1!lj6s~SsC zxmSk15#QCKKX)siy)oraWfy1sg}Pwvy!T1D3N(@6&3gWRxm3SXKa7HS5~CI{@v9-k zK(LDv#^(E_UGL9py2;a)iKP4(D49t~TrLsPe0gI9(y~$=C&Nv=gZ1Tj4M3f4)%{FT zLOgZ4d+<%7G@i%Z+Gw@pF%ji@KL0xM(IgV?Zr}ZHcd8rv-?7w)H)ejqD59%d{zd z-nkv@OSJ5Wkkd%0Zup!eI*GH9ypQG{jJO}xJE}ZPxi5KcC+%)Q(Y+1b*EUqiaJ3dx zV#PMj7ByU%V`gft-PdA<5n{FrS+y*7d?b^_=UigLbrDyz^Lo5AX3F!7!5pBUV?s28 zu|vT=Qh(AwiSmrllx#KU_3vv)1V=52fN>P_5w-x2KKE$*!PtW#z}HVZuwqr4;VSl} zw2-;Cd)$)txx0Um;CBcgufWHi4=HOk3h=tmtzvt}_)(`)N_y?IQ;4d;3}~-b`BZ|| z)zUg_1EHqpJF&e--_)MR7uW?LAV!062CJ@{stMx}v{?>YAjWLM z_R66^8;bC}ToSG~rVcLvt`%*PrgSD`_TwV|S{m4t@VC%eJ4cCMjMRz2N zuSV3RIIyf>`^5ftezg{?Xpbyn(+k2fC1;!lpf+0Q4FH!5*sNJljil5ng^j@HyWXy& zQ}vf@>m&dx->A7kG(v8bE6-o@3-?uri$!&EF^wDm8(LVnA!9tMt(Wa=VjGEwQ;BF- zBa7i?pl#Yv;vFfCmWrFUV-^e1ol;o1|MBS`E_L!P(QG)%xac_~SPA%h3eT`Nh;$Us z32(sb_ByaONAM(n`@AA~M>_dr@kDPTG3y!128(747G8KpXDE9g+ex{KELxW0g?K49 z2C1W&t#ec!3klG)L2>?|uy9f4G{Ldar2}I!tNv$DJTAM1BLhk@u*iQ30RJr}IOaJ2 zdy(i^CdH=d_wNvf=W&i+l;$XCF!ZPRN?IJ)cqrAA>H`bKFfy&7Vtx=RX1l26rIRGp z%66hPOv_yRv$V{(7i%TcGI;&7wamCz`C6hrOw0U@579C|oS>PO`9q=o-)foHlgj(0 zqCi@oTg7R^bW*>A!C1$k530{*{*Z&&Lk)yu2hza=zK=%-(@fEfxHY6RL{pov&|o?O z2}h?8NFaP=N9a~-;^NhfYkbf0ZqsWs7V=M;9&wTYIwXWulk~K@=MMkGs%l zCzz&WYk!@so=4(fIP9&u2tDi_!}=S55*zRi0kg3ZsWYUyehnE4h@68G6&YC+A7~?P z`tk>aQ^L}|55*O$xg$iQh#IE60-RQQ%kkN`;a8W?IL3(cj3<%wZ%5o*Thuaj-@ zK2$$JFeK9Q;I0TmcEwt^3+*+a{ALRZREB`9D9z4#U3gSoG)T7HjCI;b?sMTw?TE0^V?71jgD%`s zG4S4N;z7@}AgK?yd)fHGHk$if^rNbUc79r!w$7XMT270F)^SdHp|Do%xEDI?F@3Q2PT=AHJ$kymqktd9TesldFr&MbKS~7zctZto zR9Uum3<-ITe_FK6r`!-{rm1$staE0}k}1Xl67sQ)5ANDzx4lz^N%H`Hz`}Zdy<7?Y zD@s~D7F2K_f&NeZ|E2$lJ?Sr1H*dp#%VGSFJ%&M*rfHz@);bOC{Es-~9^11T{QuZk zFIoO}3w2~J6*M1F_Y24vb&v#{oj~0vblxcZJ1|7x-O0dF1a*%W6k-43>0(Ak3bdc_ zfdGw39KFUkWxi5j8V-(Z=twQHBelkkjzFOfy+~&iq_a~BRAtfz_KuCF!_Z%cz zSMJ#P84cwL9tYxM*b}mUW7Cu8`u~a6BD!gvcLb|AaYP=6jVb$*mrxv$ChGx40$m4I z<&9zBu(l}dwA!LzI>L!0j)z|nOARBl?O#=--%esP62Rw}wR+^pMsKi&u2TBi%Y)$A5m zcEm+3ZCrPsQ@`j9_k=jrwG>rwiHeJ^R#pIKP&h+z^+#w1hAx_L-9I+Mg@_i(Fs)mllXePVF9OE(wzpfFD*$8k4g!hDTxc0}{h?Jrjxax-W+xUkACU}a-03seo zFIaDg3W&);Jiip84bxy0!lPz`H2(yvL13ja5zSSHHf*r__GcC1k zhMp4UnRGiFZLXeHou?kDGp;&s?^)*=)fsQ8vlo?s!HM~-LzD%kLz5iSkCHw*HcQXB zBct>`@PAw`Zmmi*&bhJaci;1NVD(_VoyQ{hH)$M=ks>&Q@?lUcfU(uXB=g7){1X74 zbjZ{p#>iig06pA?LO6T@xah`eogHXl2a=EXOAx^4WRL!4hlvKlJVtlWJTB2EaH|QN z7vKWxahW4K2Xxg6@}b6urN;9e4-dFiTzX$75D2lDn(W}#{fenw&|5#E4qrrvP#&hz z;T^u3knymW0WKpuI99?tgUfYm(oUJUHAV)q1s2}@c}>TdE4?Hd{-k3Ut(~OxpsS!# zOg$g~aC}JduhGygipnHhfVzan{r}hwCgPKB2Uq{N;E=xHntfSv@Sv0EFWZ{M3c|b9 z189^@*xRR|JJ3vwi$+SXu)&x$kOo}ve!3wIcz;#XrOWO_MgW}>6dj^HFt?>-SN(_Z zS7Ew!HJ)I_%kZ!ZPj}h4OYq%(LH&)yc$h-~_ zeUMamEvW!#((KFe43rv$HyVX8jk8HLP(%I!VYGeh-;-dx-d4A{recCH*T-G>JNwu$ zLbTpc-_VMk5Xg8P0(>(Dw}5i3AdrBSw=?LrzT_Sby6Jb{cRQvEpU@fvL$OnEg@8(} z7j$=`F;_yWpJY|x%^A(6g+Cl^es44z+1*d>yA{vSUW3lK@b~wFb(GrANNVv4qMB^M zuzij3)NXDp#NZZgEVhC$#Ls{m!)_~b4~M~xHMe7@UgHMzKszT+wR7Sj5Z-KK)h-0G z3OH}Ij^9x3&hEd}J`5W?I8nNlY?p7V-pCF#4MuD_Nc-|G)8k2Oe%%x=8WbhBwomVk zD#&PeYNZ))y!A zvzpLvw)Fk3==yBD2{kJi!L0M1>KyB7_K{be_x7xV9?!aPt_A!167Cj^yX};-9~%~| z514JYWz03{Xy#;jFT)Ns{~*rPji`|Fy&&Aq-!E89OK~%*S2yzX`pAIRy}fSIWOv^Q zXi!H3Xeo0}f6qp7#{U37|I0{(8Hc#g#EJ6iOxBqel^)q0{9sC>9ZCqsnxn z8;-(VjE2M^!qyK00RbpBfz~%CX1cmjE|%BJg|IAg<^9FD;p<=5Q6*cb6xMOOkhur) z3+jt(hyzVq>hwR zJc|x@np>OI{C!0`Q2^vV=EU6HEMU6p+X_C?y+-qJXy-!MXgDk~^aH1_VqlHPNtEG~ zY$5UKBobF3I|zv?#bTrxS)^P|>P%Tj#Hr4dg{=gGCpckb7RnXe(o}2ZN?}rRes0&F zh-`0+`dT3hCPl{VMr{+ru1-pX8cj4?#`Q|GW%fTEM8!=^L3L8M%8fuAiUO~D5zK_> z*n2@q?ITpSe49dTN6-QSpNyZPa-pzZs%GX9Cjo&xD6SwB?bXN^cA_jSgu)o z8HtyB6||pM(QQDCM{zt_5`853yopsd$2B-V_1c`o>aDpqvo~gZP4-(;Z_N3E-m7jF z@5I4hF^v?kTs1R`aNVdOanKQ%O+*+M>n1O_;9jolaw1z;EoeEPjU;t=4?+`X$_uZ3 zqK$$r%(pP=pi~XjF2{}FGR9wtZ8^-lder)vM<82cfw7?^vd!H0^f>r`naN*a@>h|V zFXuOylb5?uI{p+Hl}{PgT=vx^J)?A-KB-k-_N%+4=bA66i(lArfy(c$9M+xgjP zMLLvAK1Eh;6#vJV`x0BEW)2zBE%68{a;RKk@vBTe&E$C`%}X0boB50?R=}G70&|m0 zCYX#fxxnNVB#OSZ>vi7Z_6i)uj4iJGHw1H6Zw3B^Jd}4KvUX+mio_ zEc$sSe~-zpF?k({`m9u&;!5FRuwevs$)P`nPs!g#^-g%dqUY!WlUumoJBb^r0l1VH zaWM$j@c<&&jvNP!kM6gSrdZoVW<4&t4ybOGpz8^> z{6y-g_oN)%bafvA<#d7fd1t++@fSf5c*6)=JBlu z3=*!4Rs+ZXS+bYVRvqg976ATVV)7eEtX8#Neo!zi>;JU`dL41bo1y7+|0{sDDAsPg z+D&tTInd-x3Ep7t0Tb#J{~JsKBrU-^(k}m$Fg%a32xVWGV;7g)p+#Z;Iv1rH*0Q4T z_FxHcS(*?Ict=wd=aVXdK&C+ipN2p_ix)CoVg?a`IA!oOT=I0H4{3%q6%^>4ET-Le zB40#FbKJW3*;2axm?QUpA1(h&j+C9d=1mk|vv?xTfQ=!<8Brs_0nZ>5ISM$St+HnK z<%vADmDtTWE5LWWp0o#Nk=#=4jfp4ZXD&K}bYbrL;;ktk1_)vo>{}R|KJMSYf8M@` zIgg#+!v3i4{fkU)Fp&&NxF|mUZ!_U>=;OPo!Fb%iA`|U0fERo{5)=k~4SL$=XqOZ! zrD6wgNnk@rzKn`1aCzZk7`|fc^bV(dIe4{_r{4`c_$IfndJr41nO{J}fpzfNU?%K+ z4DLz>*4Z0qSLW+mNBbPPCTH4 zScJUjyDRVh@dOthPoTt?>_VX=!S`pH+GL0zbZs%Jx9%Rt6-P_^7BSY=K2YAqa|=FR zbGj#?shp}ih!ypD7Pas&pSeann8njP16U&pY&Ho=Y=&-S@TpfO4t4o1@n9!go5}7O zOg2vWlEq`e^=swWg44%ikq<=^>ryUX3k=f|*cAk(z_7DKiP#`d;rNscmbA=28Afpo zm-_K{h{csySYIF4>bjQHv-7p=#4vz2A>x-JWE^SpZz7{@!2fs1J*KV_U8be2*Z;sJ zXZP-1T4-r3Hkug&2wt^^QD1||r}00{oGzFzG=9=5Z)j|eEsIByWE3FCrqp%fkb_kb z8xPp%vHU3RxR~p}21-`v{0veHKpjBNsALdT-Z-dPkou8XUnDj=H7l7LrT?D@!}A#X znE%J9o(4fWhB}QHVY=+72hV;y8s(ot`Pe8ex&UfKcYYc;K^7l`l@nvZ#RM}48tPFq zhxd`@QL`L00`H%-2yshE<#UhA8bF#Hxco@#ZmiL=tvU4+w*_Y7{z@w~97#ynO;xjB zbcI4(k-!TE^#HvA?>fWLaZPIX0=Sa2Sh*2?LT00sCQbGzYb@4C)*e_u6=E!~a;!Xr z>R`CkLi*N?dNyf}cbr{z=|WhOKJ0GBhXcARLmAi!eF&oA!fqINRsnaMxI|(Zt~qhH zN&fwchff}P$JCfLG=R_FaJkez08}IA^bvK~+MC@~9(|;@y9ZKi)T$kq%{6t7+V`TClXYA6a6S^lSvtk?No~kw8<#r%#*@6{arB52;=OY7!79k>8{F} zd@3RCX%V-JYfTP}ivyo(*5o|kp0S`Z%X%D=*RB><#;Lz1ZZ7UJdcQA>zgi z?*^LKgCwhqtMaImh%pgX#VFjpQsVYLys+5@u3;~zf3y)_4*_&hAgnQfwtiRhjSJK1 zcYoF4Iu$~RFmc|gVZ}c$c7u=j$E(!_S$ir37DFc(UTcqR3RfsBw_e*C!VeBm69DHj z?%IA?ENq)7EXXS&2j#oO>+Uai;9qic)T}j3P136NjB>Q};_f*BAFra{|0wnYO*;=| z6HpuZu6B&Q@d9mjX*rlx3*&U<g9JKt^V%$~GZ3N;UJnw=4zh1Ffj>(i%`JIX zK^omw{=Y^dM|Zuz7`6hgR8}hR6RY;r_e{ZaswRJk$p02ebQ($G$j;3BGxPW$)z7?> z!LKE}HS1@RqUdNV9!T?NUISjEm@$bj<4?xV;3fu-pFt3L1~)I6SMUd`668t-tb0hF3Y5S{Np})tU5v6S?sbBu$^H|2uru zaqb(;6`1^cCJlG2|GRv}WANGwm|a{QnG?+^4v)z(;CwZIWnSDCPZcvBp0qN*c-C`t~^fdmMxAzo2?I4Z6S2 zhG5DvxKutlI3>E{Q)WM)bVJZ*2;Ug;!*PT=-4k7acJo~xv;lbb=s{yEER7$70%J&? zHm2s&V{7z5;(_VRsCf%&9h5f@^rR1Y$IAQMOM_#Vm zd|pSHeBOR%B%jym!+#9}^=FyPFi;1V zO*FK*^Z$g&A2T6an^U9QNBWx7=QQ8Iqi^TBaJ)EtwmaS3(>;o3tb3rltGl!N1R(r- zp!@59u$gOkqIo0%e(nOg9VzyH{J;x@3%|*MS8NSwWe^P5;qU`O za5;W}-@w5B{NX>yfgi)@X3JDW`Z1Py`!XpyK`7N3{eH>MWSr;MO?LJR!p89k0%!*Z zo>8&yfSd4AfHr1yPGSbsa%UlOPItj}!nuog+hch2X*u<%AVV0Q$5|wl7??WA51uf# zx=1RLCyTtc6;KH?2LqtlC1Sba;}5;LigEwBRkypIYj~Bed0gtKuYQo!ksRlVGmmnX zy@0S#fltO?Zr`x%VC~A^21WzYLN(hn#&R2PVJu|DX={I6(!YR)AYjRHvdim*HYt*4 z$s^Ww0MJ4g-aba(8dih*(I)%;AA0`^=@2nYKHB=GpYX?8dMD4hSUF^k{qx9RA;jUg z$lFJoFU7wS1g`6pj8kIeHKo2YKrE&fv+Udpz54{};gi|3)HvEuSw{i`W{pD~O6WB9FJQjY7Es!l<#OTqp3!<^;ZE zpIEP5ECcA|HdJJUJ}|aOgq!E)uU^mxrm`RB7P52xd}cP6m5FLM_b}qlUA*8QX3I1T z7x3FMnOpF^Wv*56gIxCtVaW`}Cs3FL_|nD9>CD9!FP*!3@q8wW+wTxD9`l88%^zYL z97Gm&Fs{ur_`inO^@@KKKpFAVXt)sh!+fV$U%2|>6`3y&$~6t_@=F&pmoHy@KJ&um z%RVhKnVJ_bJ^#YxD=%Js>D&dMpQgr^9WHQbHt_=2evW1Q9A15WvU-|1JT|ik*7@3SI=j|3^%IkI6q~@(-D$pr*`d zl&Jz+kK6wR=`iOkS(iK{DuH`Qq;qD zvsL^88R-qSa0?u%-bP^!kw;(4jx-ie4c`f6h!z`AZny~dlgN} zn2=rIYYp6CG1qFaRoJLuqlSQKITq_%wna0RipxQ{p5vPCO g$ama#+@+B-z59Fjr@aIC+k<*`+18e(dSONWAN%ESkN^Mx literal 0 HcmV?d00001 diff --git a/config_pos.ini b/config_pos.ini index 89511b8..64d7f5c 100644 --- a/config_pos.ini +++ b/config_pos.ini @@ -14,7 +14,7 @@ user=admin # network,192.168.0.36 # cups,EPSON-TM-T20 # -# For Windows use just namep printer eg: +# For Windows use just name printer eg: # usb,SATPOS # ########################################## diff --git a/doc/index.rst b/doc/index.rst index f0eb28b..f2ae61c 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -3,31 +3,13 @@ Tryton POS Client (Using Qt5 and Python3) # FOR WINDOWS -Download and install python-3.5.2-amd64 +Download and install python-3.7.9-amd64 -Download and install Visual C++ Build Tools 2013 - -Download and install swigwin-3.0.12 - -Add swig.exe to Windows PATH - - -> python -m pip install -U pip - -> pip install -U setuptools - -> pip install -U virtualenv - -> pip install PyQt5 - -> downlod TortoiseHG instalador mercurial +> pip install PyQt5==5.8.1.1 Copy config_pos.ini on user AppData/Local/tryton Modify config_pos.ini -Put launcher on desktop and set icon change +Put launcher on desktop and set icon change name "pospro.pyw" - - - diff --git a/lp0 b/lp0 new file mode 100644 index 0000000000000000000000000000000000000000..7f8ae31c6c1f557d845fd23e49cf412fe1611a76 GIT binary patch literal 18597 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 literal 0 HcmV?d00001 diff --git a/project.pro b/project.pro index 250bd0d..c42bef6 100644 --- a/project.pro +++ b/project.pro @@ -1,3 +1,3 @@ -# Execute in terminal $pylupdate5 project.pro +# Execute in terminal $ pylupdate5 project.pro SOURCES = app/mainwindow.py app/dialogs.py app/reporting.py app/buttonpad.py app/commons/custom_button.py app/commons/buttons.py app/commons/dblogin.py app/commons/dialogs.py app/commons/forms.py app/commons/frontwindow.py app/commons/menu_list.py app/commons/search_window.py TRANSLATIONS = app/locale/i18n_es.ts diff --git a/test_printer.py b/test_printer.py new file mode 100644 index 0000000..3640b85 --- /dev/null +++ b/test_printer.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +from app.reporting import Receipt + + +if __name__ == '__main__': + + # Test for Escpos interface printer Linux and Windows + + # Network example + # device = 'network', '192.168.0.32' + + # Unix-like Usb example + # device = 'usb', '/dev/usb/lp1' + + # Windows Usb example for printer name SATPOS + # device = 'usb', 'SATPOS' + + # SSH example + # device = 'ssh', 'psk@xxxxx@192.168.0.5@23@/dev/usb/lp1' + + protocols = { + '1': 'usb', + '2': 'network', + '3': 'ssh', + } + protocols_msg = """ + 1 - usb + 2 - network + 3 - ssh + """ + print('Please select interface...') + print(protocols_msg) + interface = input('Interface : ') + + print(""" + Please insert device path, examples... + + # Network example: + 192.168.0.32 + + # Unix-like USB example + /dev/usb/lp1 + + # Windows USB example for printer name SATPOS + EPSON-POS + """) + + device = input('Device : ') + protocol = protocols[str(interface)] + printer_test = { + 'interface': protocol, + 'device': str(device), + 'profile': 'TM-P80', + } + + ctx_printing = {} + ctx_printing['company'] = 'OSCORP INC' + ctx_printing['sale_device'] = 'CAJA-10' + ctx_printing['shop'] = 'Shop Wall Boulevard' + ctx_printing['street'] = 'Cll 21 # 172-81. Central Park' + ctx_printing['user'] = 'Charles Chapplin' + ctx_printing['city'] = 'Dallas' + ctx_printing['zip'] = '0876' + ctx_printing['phone'] = '591 5513 455' + ctx_printing['id_number'] = '123456789-0' + ctx_printing['tax_regime'] = 'none' + + receipt = Receipt(ctx_printing) + try: + receipt.set_printer(printer_test) + receipt.test_printer() + except: + print('Printing failed...!')