From 165bb8bed48d5f0b6707bd70ef7a95f7ae898b5d Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Sat, 30 Dec 2017 11:42:06 +0100 Subject: [PATCH] test --- muk_web_preview_msoffice/__manifest__.py | 1 + muk_web_preview_msoffice/demo/data/sample.doc | Bin 0 -> 102400 bytes .../demo/preview_office_demo.xml | 13 ++++ muk_web_preview_msoffice/tests/__init__.py | 23 +++++++ .../tests/test_office_parse.py | 64 ++++++++++++++++++ 5 files changed, 101 insertions(+) create mode 100644 muk_web_preview_msoffice/demo/data/sample.doc create mode 100644 muk_web_preview_msoffice/demo/preview_office_demo.xml create mode 100644 muk_web_preview_msoffice/tests/__init__.py create mode 100644 muk_web_preview_msoffice/tests/test_office_parse.py diff --git a/muk_web_preview_msoffice/__manifest__.py b/muk_web_preview_msoffice/__manifest__.py index 3d5a8b3..fec3249 100644 --- a/muk_web_preview_msoffice/__manifest__.py +++ b/muk_web_preview_msoffice/__manifest__.py @@ -44,6 +44,7 @@ "template/assets.xml", ], "demo": [ + "demo/preview_office_demo.xml", ], "qweb": [ "static/src/xml/*.xml", diff --git a/muk_web_preview_msoffice/demo/data/sample.doc b/muk_web_preview_msoffice/demo/data/sample.doc new file mode 100644 index 0000000000000000000000000000000000000000..9cb3f019e8515ac82e319c72f775c665ba2929ae GIT binary patch literal 102400 zcmeI52S5}@+sEgQ1CAz$f{5(|Y^aDJh%KU`VnGoVYgEc1C<0OxV^r)dMyyd|V(&fn zj=d|Ih&6T-jT*6H=legqx5pmbDX4j0^M1SfW2d)gcJ`T>-P`n2g|E$9=XjmvI=*5? z>|M4QGZDGVVU7^&HjG8WECcVdv$M%r4F&;NrQ=`H0{0i~VO>(p6pX#F-AzJd43fp6 zWNckM#tN~}UZK5KzFPT;bJh7{rm$yjTNpc;D&tt^rQ@B)lAUd>bu(lZ0&M0Chc(@g z&K5;^zxSOrLAZb<05X)(IO;oBfqx75??*Ql{L{)amI%AGJ!6aEzY%9T44qSp@&38b z^^p!;F%590BR^*sgsV}JvH6IY;mTMr>}tffqXcptLOTfg=JIBOyP-3sD?WtugtJgz zAq?3s!SW5_QIjk#&imv(Q-0K0a;KBqPVFN;gmlDi`7sOiGn5{s8v}WIqH&cpTz#hF z&vJZ1LOTilE$;i{zfF6PuFXm4SK}P`cBzASDp46KqaCP=rsC|5Gxa|@x**(lI9I96 zS=k8G!%1WJ#aYOo_x<$0LOw!Dg1jgnKR62QESv>-33lNu#5Z&n!sR{-{ZTj@iZ8ee z`3rVK=iK=ScA=dGyP>m?t{~ss=MVYk4*$9Ag1iis+mO3Z-h!SDrAK44nI&VVZ5gYL zUT@57@t5u>((&cDK)cAO1Qq`Kt3$%0VtQ6rwNoc2S_!Tps(5wJr09@%Ra{7XNYD6? zxJXt1sKiKBVx(FXu8s&vicVA|Bo2sHt70QmtzzT*ghack{-4GcwVIzgA}U55u4)(^ z8`fLZmTRC!A<@x-6X()SosiSgePZL)ng&!QLIiHw)HIS&d2sGp=R6U#%^n&X9bN?z z;sqO(7!n;7Rz(#O6Rvfm5GvjyM_Mttq!$&V3LzPD6^V+8##tlkFuo?uI5(~;hEs`0 zmAU$8iznp6*Cdo{Arv)C9h0a==$wj2t0NMtqVPS@l5Q$1t0qzL35h7Sx({`>&?Gcx zB2tfzN=SrvTXk40s;J*v@XhJPNFm{UF;rB%c!TNbmIZCC2|77J6$7zqiX~(#6v|+@ zCb3EJxT;7-Xz!3{Z8iFYKn%K7wbFJ0{(94Nmt4&glhh}an$tk@=z0s~d|&hE#>m|~ zy1rIc{>Yn#l@L|KfIwATR9IqCyt=lPOyrRm5*iIB(^l&Ks!p--y-gd&CM3qjnEI&` z<71-|O-&nyB&b8t)l37_i3z5iLSlNW)d{9Ss8ie6WYcz0J=O6Erl$V5!qfvygF<3B zd$WXSv?BR5j8BS+;lp>p$cCUzVq+7z1e->M#30G$lx|>1VtiCA3@xK#5!^JVgfS{L z+AusE88%K1Q%9>3;^Hw%CPb>$iM6e)il`a~G;Hk0`?<9xS2rJ(s;JCPBO&z1u;`?4 zb%F}gg_O`uwW5=T+fTkxXxlPGB@MS2thn2_G~9~r0n%`rGnlFVUkg3g*(o6e<68XQM+>D&gxN$TzY6ZKXaZ$IBch_)>y{WfQLLDFv}{Z?8|&@Lxv z#|TNkmGoOlzZI_sV?{(-zRg*`)?J{LmTy09`BoZlCH+>j(kg6YVVvPsUZwQ}X}lHb z=F)ikIkwBB@m3mdrSVqp^A3`JtMj~vG~P<%?U(f^n)co$t=~%Px7=e`!eds_<6zR` zVEp4?+A%^}zm?W+rS)5B{Z{jgecq>&CH+>?ZzcVfdqpAF`vlVK4td^&5ERY#JxC@v$W453P=m?@f4BqgI z1+`ItI-m^*0&PJ%5DRMK^=^L<3_5~XFcfSAhroI8dtt_|fMs}Fa5+c=d%#|>4_pCn zp8fsi)|)GDGTxlTzulWpzFEI=(fS|PPg_4>{mAu$*2hE)TCcAetc`lLLv;Jd2XRKM zy;4@ns8`L#j~kdPWxP|P=0(XlSSbsE385(wZD`o9ScvVsPeWIexJY`D+?=<&H%IAh zd9#;tsJC)xSLM*Jl|z{&?*<2v4I$voOn5)avm0KQw2w@&4b5FbaxzdtO=xRAp14Hh zBb12Dxl2TDIVIAB(3FU5F7%$iJ!lEJr+`^t9T*6iPXWup3UCDc2^`TxH9B zV>0}(fDAwIKyRnZ@TWM*CJqb*!@zhj8O#Ddf`woiSO;`usAJKQ)ZgM_8n$#02h&Nw zu;mBFdWWYPq073+in+*|MNmED)1#SD4ViIEsU%pHM#147#g1apZDz0M`| zJD1Y$tlKek`hb$;dmlUlZ-5L}fjO`N9mRss5%tGd#EBKmEG{wE7Ze!Vq`si(E}zmD zmosr!3ppTI6)J320ow`=m3(yQg8qq1Uf$( z^-L^e9iL2tK6ecI=p=AW98AY@&Y;gJv5$^LCjp&&3|kI~Q`52Nlt9NvCpE-}BCgTt z_#V&MIn7RU1;9bj??fS>1zHK$h^e6KX<{hkf{(&RYhr?_7|Dp{WLH5Zcm!SnnJxMQ zFb6uNG;Db!Zh+hQv$PNg%Q4TQJAMqhVeV00((_oh?(H0U-hf1!%HignOWW%iPVUeG zwK^Z~Lh}KkKaqTk00*D~6+t!N4r+q>;CYT|1;?MhUHK4y$YUz%9v|* z2LnJV=!~D8j0a=EIIt8P1TTTTJ!AEN8cYULz*4Xb90Iq2j;ioX+*NdZ4C{XP492-> z&_^ffOX6TUmNN!@j*5MBEIJA3eg_t;ZK1|MvL!pib4*Kp#s z{T&rD46U4#7nc07?tau6oi158ml1^?pE9sgLnw502(b|6V(v-)? z?mqm6rq#yAT0f;DE+N^45|TN03CS&|gqjfI-3QICMWf~_*1EZjwE@m_ojM?6FW?PG z#;rjQ5CVFEzF+`&p3`L+(^=TPEB48!<(fFoZ~3!`L;e3Ue~fmYdt9OErS9yJnUh?< z0mH!=i1Iz(xaTD{GoyO&3EaJpI-JDmKokcT-@DjL&q`d*?%{huAnGMVtnF+~x zE?5HAfUO`690l#gV$#w3KE@(W?8D}~^5rzb>bPa(majA;)RlDsW`xXy)A7-n^6B{KST2e4(Xo8;lusug!xo)co{mMQ1Ucmt z>uEHV;Ov@Je{O1_qqk{8Xjc8X5TaFo&d#m+^CnvL=S{Tg%bRE>$eHX(PK&@|Ky$L) zARU|r7r}LK7i8rWm$AnmVbPft{4P$wutgk7GUsZ6g3bs?-nn}kGb7pl1)hKxfMI}D z0&DOu)c-qI$a{Z~_Ke=6|C5|;Krv7TR08gxHfS&IaUY}d>%bFZ{yD<_9Qr@Wxd#XVV*stkE(D9fF0dQu z^n=f<^6R9gcU0i?f4X;Z`u~JV()F)>NbobrUrB53^T7fj$a`EFtO0_>U@6!QP6J~V z?h~LQsOrR+8+Zv`0UIo@7Y4SV2yg?{z$+K%6XhT@-~g(D1|SKH1~b4>gd|Ny+!s9?nk6m6NSd=K6PpF z>OR?p)qOJOUfn0RoYj3z2wL68sy^AotNQf50lDS8<3KikAH)|8r>zxpqwD)Duz-B) zgH9k0)P{_MKosZ&#(>4(0(cHem1V3khzAK^3>XWRfCJzKkmi4QuZ4+@FL3@xan z7VZB8dZH^!`#&~l;A}Al_kT#vDPT012xfx0U^&py`*h}VA7d$)%=5~3Imx$FjlA-e z=6|}fF3|oD$$16X0JeiPa0HwJU!eTcCHdzF`!neOCM4%{a2mV-q|XTsZ&E++{XyFQdC&e2$vG2bfox!gbv7H|2z2iIAEWZ? z#1VI<51S3>|3!TB%2(3=b5ue!Y{B+_NX{jI3#bg-K`l@pe1Y;mD9JxZ*q=fFGa)(q zf(9TG&>H**FcJvs?mGS8^Q!zhsp%aR6v9(0-28t)1L^wztolFgt84`KDq;U0TLZN~ zAaJaV_c}l`&>Td9QD7^`0B=FLD%c|cZ9yc60;9nqa2`ndf5G*C+I&*dTi}}KzqrjP zIOIIHuMMGj{)-D?n)B8-XXl>(;!X7Y7jL2~i8s;nU!2LF_R;2mb>KG00!ql%sw!iJ zzy)v-WP(TFF?a$BxuHzpBDS^efal-^uy$vxENBmUf@CnrgR#M&85U=ogB~CRgn}?I z7z_c;F}d#uB0wY<0w#e2;2e1V`2OQtk1ylppaVO9d%XVf%0-WPr=Q4a8k{DL8$M~k zq=ZSiM-u#YSEBh8?fx2>bMLQ_Th9KPCWPkg8M4t{nnP!dKHT0Rzn3<@t;qhqT}ABC zQFH6;(IGvjR-*Xg9Yj8`-d`&tFFyB`O+~S>qewpD9YwNpJBrv1Bs1+4(pg+{SGrE0 zf#-l^ZVgnREN}(YK`kK7|8n=K|F+$-fbaX0=(&-F`^_-T^>0S9tqmFhe-H>dg6`m7 zIRC5L0@sAJ|6_yBsZ|rmY;gaFT?#jNI~- z=6|}fF3|oD$$31O3VsB0!7{K0e1Y=cA;~{S*q>wmM{-^Z)`9bY^u4Fx84z?loqiA~ zzIH#aMVzwM%+3Gk-nE?ee`5or>t8#te+Kz0Nrx{7x`USE`Tgx2VLJENb|ohfBr{uQiBLU^Ryu#6-)xNz&x-FNcz8a zMEXJupGW^E*)9j`!4{AP4uezRU#S0kbjW*ukoJGxqyLkf)4@4#72E}x;1$rh?|&Kk zf3_a^O8S3}N{F$kVEaEL=hr}i^*0M(1B!z(;0u)hFCFt<-;(@4LH;CX6(|e*0j<%7 z12quVWp(;Np!oLpc`f3UwPs!YU)@QP|7X?zY2AGqIEDu+vq5n$>;Z#Uz!opKR06KR zA4GteU=#Qq7}vxe5%2{5pc&{1MuIIs(*Fyt|I=23c>jmndeGVb(T33M|8OBh`#+qW z+yCKBwEx4KX#a;d(f$u-vZsBOJKzE2^*7k+gZUmv2dBXq@GJNmJOtZnLq7x=;5>K; zWOy;k3p52C!PoWheGsq~tOHq3?mfBr+!e?9J%1K)D9N0w1qwRs@gKV5K7lJADsj)iG%4_ z&KUGLD)!N_=p>+%k73JRacVjiof71P%B_|CC+B}8r^cWOpm|$&5C{5#Z@^G67D)Pk zj=a7M)92CuNw(v_6fgtK1xvvi&_i6&4xeff$NyM!-lu}*&{F}WWAok>{;gVnG5UC; z1O53&zYWQM5rUbJoP~87otrTpP5rMQGW0`|?>#;8{U6f$#3C<>M%OOz3g&;{E07xb z%d4>JsgbfWYtyT#)?TYucCFIX2{@gcsF58zHf!cqc*&B=5tXwU z^+6_)b`+{nbH z-NtrZkBs@=uSH_{4dDa*WfT7B{KJOBPwo|Od@U=p<<#yi!jl)LPIrEK?3?mO*K8|q zv$s|W|2w@cAHPyMw<)`KjIaCrMh#kjKc~~cQDeqDyH)Yq65rhkth>;%yKJGo|?~dJmwZu?O3|a(p#2&I$d?YX|mwSnMt?G{$+A5Aa?8s z`7y^bC0&aC>S|Foxx$L__LiqZZ$+H0x8CwZ_45b5J*Swzq}$lyfg{XE*8b)0o7&Gd zjh#4Q@spFz#ak8ozU8SgKe^3!EmY3aHnisqmxgmn`K1rOUf0B~S);i%CmuMx;)wZ+ zk?YlcXS&8Gq#ho9pxC@x7p8<1t~0^2ZO8p5->eSkIrx%CQ?rF;llS+ufA~Y?H480b z*Hx~ztMbF6mDilJh`p6~z1+{McVulpbF2H^KChj!i@cPb>^XU3|8t?6(BW9K#;yET zH|#O&fX?(*HXS>&{g@(B=9OX0WJdQ)aF)r9GOTcx8}W7{h0%Qz=YC9f4}WFy3@hh; za`-s+Gg90)sU2*=G#|+RgwIqLdyXQ0s0iFM=Eew!PZF-sR}JIb)!?clss?9Q81vOp zP!$x$IaT-^Dr;OH*CLpD9ycH^*JU;FXKUABgIsGBgxIr!Y{;+BW)SH}z=Kg9ZQ z=(=y3w&^g_>)p3!%V(`WTBB^QiKOZqohVEoYYw|(nx?sHsyr(CDU z39VIg+@J6J^~h73zFtGC&R_I<_ZF814UgV5aDY|#1GUw;3q!s7Ic-QtT_1MtF{?0a z{#ReUO$;)9wLR>Cs;#NX_6gNal-jW9tE)wSz7lpiY1rC(NsZZEZddGGPC)(Y8e)QUa#(UkrJz-b9 z(vc@6=S`mK`S#WQTQ43diYM(44Cvjw?S&tmeIi;n%!sWU^m0`HKIiUb-TtxOqdzJ= z8CxX%;cbu0#bUS0OBLN37I^JyR?sl>%azZz$nvW;=y8w7Gmq6?7V}_Hy*)2dJKZ(z zwr2C%1_-=B-j1**GhkH za9h#f>p{B@$JCotr&rNy?GBDC)jo9ptx;`8_qyX)eRo`)!I#%vx=`WUtnVAHd03+V z!()|yS$_Za%YehF^(vk|r#R{0n)&vm$MX&=dKURUeP82B4~O_aY|#En_x5!LxGm~m z?a_egYSn_i#eB-Qv>-#h= z*~c&3b@YxkvmOmmzWRHn*RDRJc3cnKo|sgsgVFrg>{+F?5zE6)Rh`nX$Mo0TeptCR^u(%_ zTMr&BT6z619uvyl8yvH;PEWh62Q$xPU;ZU_?GFD(uOoeLb-MBW$c=T?Rd)9*w<1dI z&nP>7b))M*305UMtsyPFS^a-NEKXE3f;-cEU8*;9lxB-woJy zZ1#%VEg#)IbL#eF(@g8tsqfnS6WYBIjc%Ip*9FFcX!jVY^QGN8(Nsaw?j`O1e@weS zrcW*YuWI*DT^Q+4G%KbHoAh^5eeggTJuSlNLZr7@0J@MXf!DY%7Y4^BB%shL1j<{;I%Y{*Ogc` z;12M*5%U0egpuL#Mdk&(K}~?IErzWvhV3j?2Vh%@VY!oi1?mG|&;T?9jes9$44QzZ zfYvmcf##qEXbJHC8Mj{18fRKBZ3Ad+p)F_!+Jj&~%jF#bo>yg^K^M>!yu+daUd3nK zK@SiDLO~b^2ZO;|grVh$zJS8_!nrqy27N#bz=|k~1My%DApJ8DB!PaQKS%}xz&BtZ zptRQFOz987IRykErC7vNq2@6-$8#~@k1nOvJc6(T?Jzeb>+sqt`hK<(qv@_smnq4oOUsV8cO z{2q?TpRNnO1@f0arR}zb&!IJ>-wSz$A<<%7PnOcz4}2`FyDV=ET$&f_k;RB2(_mRk@(y zNq>1QU!}RmcklxphP(#xQ6bUnS$|*nH@7mkoY?GH{~3U;bJ9{MpQ^Cv#!r>;{<`s< ztjrbqEIH7FncUoq~?=b00S zm&ha5OhG>GZl0cQkQ~Lx9nuE=l=@_2x|4W%)o}B4e_zT%_?o5^zGlsuZtm|1ufOe$ z-qVjimkc*RhV5m-_3%C!c9iil3=2t2pqkSaA;?gFYju?Q%c=G?JU!l9dqH*`Wv7iu zc2y~YhdY-8<@7#@bd>QD@rFcdczswR9c8>kJR#~YQz9iWlJ9^-=*rK1HQB<=!+aYg zLG6^76yIAtAOY><$y8`3H_RjjnHXtCv7NG?xKYfL>#uxE^1XhitRdIyYq)uP3vJAg zXFFwEjVX6rLEc_mx_msoPw$kubA7rxgj8KmpZ@Rl%@`^hOiFAp~_ahn(lT|&Wy_QH@NYC%Jx)A;tT>4w)-4EK1U zBx>%i;91?x%iUn;|DF`?LJH$PAO*fA6Ced@rNr1o=o-|EX-p}ml?310$H^`?+B?V*&=R+T?BK4MH;z^W8KB|Lt%2qddQ6`6zd^3c2||eh%o|Ja5n_#I%{iTx>e-yz9?^~Eg?dpK-4c#wQ%!`{nacGAeX#@| zAuno2J{DsQ^psG^YM~K@ab1WtL>p^}!B`YVw}gLaWBp+;7KPD`6`;8v7m)|Z43&_= z=*HThjkUpGEDEC=>#ls2rf=Lu-{t+p@=~IWDGZHMxqGxJmsTeF4Ii)IV~zNF%ark& zawcX}l%6mTh4H}joEXz@57hmmI8sTo#1Bd`)x&;#pF+<1X1d3)}d*YyI=?9FJ5EGPwWH)s$G~5X^fS7TJ`ONHE3G<7TO`6b4g@TC>5=@ z8#*dt6$2|D-2Moa!%#S}djnYRXdI05tUMR2JU$;$|HjDM0V6Vh(0a1rf@UqJo9AJE7j4oF8y0koz*1CS275YYb8 zT0lA7LZs3-Q`na3UYj}FE%oqMCf2oW5 z!Th1td0+kIXHT4+?N-8O$`7c2m6xlj{v>zmFI4|PK-yhLPz=zng9V_y94g}oK=u9( z(00jGKAbPnC|g~5e2)BRM#r@aB1H_ z_^w!;#^sWysa5~r(U2=c2)9C*hBDQ|eOLxJBh+4w5$_6m47CB~%!=Y%NogdY_M*RQ zxOh9bzxB{hs^VWeyN2}g8V(ujDEH;UP2m1IaeuLr51-9koQs@Gb>_$pBYgIdR1y~s zV_5@?5>Xf{qOnWzAM!je}EFC*;??qHlNP;)dw0R(h5hmh&JAx+QlcS;iEY<35iZn!?!3~Ov8**>lpa)eLPdk#t&7|M>m}u_rf;5qV#j})#vVv^2nI4D1AOWx#KcH_Ch(e>3pj%JnHqWZg>-} zzFhh?zFbN|y{H|y^!2xckF2mSLk%?TLlZTweSBoO(s`ddwU2H(d^>aPR+y>y^rv9) z!Y0Kio6dz(Ot`acih?^ANipTlMN`bUvt5dkJ43VL&h{zB**#=*b&kZX^e5^L7`nO1 zLv?a#M_P&C;z2G=(Lh=k&+nkN$?$IvCS-eLc#tJZ#@^tu8tQK(OXz2`6NKt>+dQz+ zW(H2Q9*zK-#aKAdq9THEt6JIEzEa}Xi+JURCKSAKVxyy+SaGtk#NTj?Y9x=s_)7|t zlD%2>=uALpVEyi#yDR5jnfp78b4j7TsyWJWi$B?HD17!{jN~6(8qS3t!Tk+jg^Wn~ z>58d9C?3#=foj7kFmDq*7#dt;SPy#kQRL9xmm=usNZ!^;IQ;7Vi ze&x7pb0?;&G>VmE)t%q@7Gts$U*D2!Ps{5tGygHZ3N9_GdpYhQ9STn)1{7^J5MhQo z-cBpY<~@B#;nNc};i+AU(>To4gGTF8Og1;s*9cNkAivV=>D%9u?=H6W-HGXu0x81Z zc7<h(E+W-80CrA&+yQuZ1e_S6_fq6(HG_!t6*j+^)=zCjU8~;p!9CmeNEA$g)FSBkV+t3{=$$4tMVf*Ob`JF&h2~F&9^Vk-xH}eL z+}T%hTegXc&Jas`l)@-&WWuN!NvQBw+(vW~9=Y&mTK9WMe%v#s|NYw*U8ET9Q9k-d zWv9+VN6tl>rqI1e`T9{9t|7>fw;?!JB*`CNc9k`S{3oj{WbyAm)0z_xhV`Fg0xygu~qzu)W8zdZsbgeR%S(T6<)id&HhyL*YIQ z39>doU4D`%eOs!4xnROas%w4}jz{6U+iX0$R8H3H%J^ zfVp5Em=6|!gbUU>R5rR)CdY6<7`E*-C+5U|$b5fQ?`i*bKIStzaA24t9W@ zU>Dd8(!d_D7wiN3!2xg({2QL#B$fVC4`$~r)4s#|z8B23Z%gCtZvMwZ*6Dkhijj>Sp z)eU3O`0E1qg1q&Os44mRO(zFZWTm&hrMJGNx4yr`-*l2x=>MDw{V$wb{S#V0_gL&l zYyFspq~zzfp1!9A8%gVzw0=qJm$ZIK>&I9qX#J+2p!J*NQ|m88(+NrIm$ZIK>zA~C zY+Tc>91gwbqR-(e-m%d8tE19HOmzLxU z@`Mi-Yx1S_zp5i?{nA(4{`bDxCTabm@2cTbbpN?;xBY8XXz2+b?pvXjqPtGPwSK&O zmM^V8uA!v$OIp9A^-Eg6r1k4+{Z^v!x1d_TWj?k3%%+moFKPXf){hS;OHcS1c(Mm0 z1oy;`^n?#S@BKw>Py7>W{e?t#oq}uq_$jJUsvn57LC6J z)%x*^IQd%Z|D&y>^-Eg6r1eW$KaB(WpXV3cC9VJegVt{&y6Y5N>&Gv!iB~B!k|C(fhuuA@@A`vh-ZP^jyDzK9r}g zyyu`XxYm!~dd`>D9~8mgcY2g9k+}&u9vYmmJ1g4wiBEfnYFXCbcfLU% zP}3X@@DlmAF#9iYV|R>g*$67(yX1=}It0X)XkT<^tjE}|H@A_m`aNJ-%Ey+@`F7SPQLZYy7Ff+c?Y&>*EaLO(OrCpYB2?(_yC9yKm2y&su-9M%iA;8@v8>FX^V4&EkC)f1Wa) zVl=qliwZmH`3#K9PDp-tM;ZHWSH=rztzTN}m)82FwSL{T{vx9B*98MzL7wZ!&mrea z>p#<*hE_@ISDux$eo5>9r?q~E=lDHyY%8#Twbrk##e4Ko8dap@pKO8ZtQ|gR7mDxM zsy`|l{;RqC_gCm!6!}SH9RfvH=0kpt?{CYI6n3Tce&UYLMfY!WSQqlYGQ~c__qS!@ zZ*b`5q~F#C&LuVZ%kV{mSbShGPV*gh{V@!?e$4mJgOS_-O_I|dq{}dxaNoP3vk`v4 zgU+j~@@GvjgQxd>zenHqukRxzJU7gJzb6uB`mRnKz;Cs(6o6k1DjHLle`vjmqA$*qyRbl}R8@0xXt6PZXOdoEe zx=!~J>T0R;ZESeuvC}t_NOYX|#NR=pg13uGj8=0=YNSgky#J8lOEX4zeUkc+i5Zoe zuLn*|D&SAfcgjWI^-j50lmT9o3gKHoYFw9o|2K0Ti?*1}G zAAd7N3`hWp0M5)8qI#4q$C(C8{xHFZb7S$L+dj}dqTz%jAp1tm9k^6NaHf=mR5~-6 zFMVsVvnT~K<_~=(1fL>}!e@DVG8OmfUHX)$iHoer!c10lVO{219$!lHQVwm@T*X@W zt61yia@GcPRSxZjQwW^9GC7xa*Y~FFf%4g)1UhNURFt+iC0|mU^w&b_^np(C;l~>E zc$_^CpPRHq8}f%eY-$#Pnk1nm5>bypnBzfD?r$86gj*A|Rt$XU2xd{fPqNqJY)Q8~ z9PTETA{|bZt8G<`b{dM&jDi1xmtZhAie@3?Ea&cV6D9qYBv-KKHY$alljH=U2)R&mk!lk=PP zA5`UxwZpA-ReMbwQN!%W)&BRl1a4DSO?0*iJvnn=`_&U~&Mo9H58YX|E{$CoNM(!qu~`+J~f-t?cBKzxBo8cUTNmyc6WcSRo7uk^hD={mrY#;L=7rA z^tNN2B58wtNB^;@;@{sr+wVX7(f;(Lm#!9m=jMJh{BSk*afjB<&3ygR(j{evMaLC~ zJVQFqKV!4^T9vha?xwv4-|@V<>16252ZM`7eKow;`4bAy-CcV;tN&NEKTW!vw_dra z>D?P$hwLx=w(6yz-fmM8-u<>c)y=`}hs_&8{@A^$KDu3YcJ8KHl(FQ`G&GSnd`Zdb z9)>|ML3OKUMa#mYeLm(Ww5h$m{*;?H)4h$jF6D$|<`f$BkMr@Y2Ta zI|5HHsC%M%iADaK+^5-EkGar#N6_kq;ir$-oN3)kJ>-LSjOCs^h71SRM~B->0(iy*_AO|I`aL!?ss! z9Qw<#)!U!5Mzb9o9GZJ(&ZTp=Zw{|{@@mnuKen*yRAsiQ)j0JDw=tVDzpb*Q#L|oY zB@a}IzJAE=kGshZM>b3-a<$pvgf@em&!&!CwefdV#>UEL%Ra2~d$+AFz3Po`+TqTx zS(R=yzE`=tx!gy8;iqq0bz?eiWr5IHNi7i-o3BE3D)#+Otz$2F7u{`rzP~ClHmpKF zN7JNn=hyvMHK4@)n9-%9#!f#UIN$e7vq2>;-b|70+ZHm~?tGuoAzg;rpI`L4#)aC^ zrP9}|Z5lNBK*w&Az0Z$Z^_7e5%bTyWOP5);;@sbdEKAvztp8o4|g;5%jQ zgWpR(ueNG{zw2zpj7K9j?5s5D%Ek#K%Whp2?cA zlfOyp89KLFk)9*>n3yI_NNsyTEiVbQ*#S8vX@W>(=HPb-#1H9vTMbj81KB)e41u*|HzXHoGw zw~lQsd%~hw_w;rfcUrf#EM9#<)?Y8P*8E(*@geJ*nH%;qzZg_HepV=dB zx39MQ?fp}S$}Fh=^WZ0sPZv9z-05KUt9=!Azj-sj%jQha@+ZevoAc)R{UhVoeD(J2 z_NI230YjUrU!)%NoB!i2<%1^6#uY&KmH7?b%a)8G|=L)kT#&3$U96U4luI0Oa(d!4ACi$#5^Ue5@+x!okA9o#5 z#`cdHk81y1v1EryC2!1_W;NJo#nR@7_q2PV?%LWlGtu9n>CP1YP8{G+nwGqv{p6e%`Y0%+}pSF$WrMpu3`04O>O2oJm}lr`0DMLQFr=h z8nv?D_PS8H@3*&JW3oBw&X^h&HuXFUU;H6(`A_C0f4%kaX!Qkw6Z=?p?OJP;{KbuX zhwLUj+hl(u;QW;39wD#&UVc5IPN&4}T@_Cstl8QndGh_j$|o-;{Q32fK^@|EW`BF+ z>#3)DR^71vqPe<5mer<8-c{pwtZh`f?Lm`XM-N*?%?dYr?Uz2f!OoMj3pMK-+T1z$ z_+Q(GTNr!yPQCV*^YZx(MzoDwd++D+wnx89tk~vgxsvyf$Cc|dVRZSgFNB4(E#nYf zFSX-?$7zMu+`0ayYhY^i?E#U6=G0nX7jSLm@!-|rehnU+3kg2g@TZwwejgLj{HJ}Z z0*im^v&PZVK4XN5qQND3aJP|9wnkW)7CG)e_d!h7mCIERS`@qMRQ!5M_*ZAXIrVyJ z%D7HhQ2*86_zfQTu#J!3b;AGqwY zbf4GAjjw0#ZB@#DWVT)-$KWcyB!lJ@`>b#ycE$FK@ewOpEDJPuwyB`*}yHNY|3Uh5&mv7lPy;|JF#jE-( zzIXQG8&-=z(s{NCU!Fe=TT!6Bj5Tr9+q0KVvF*xT9pkx_1vw+Wc7%ae$)0(TV^-VuaH@Z zzZ|zL&+2F0*ygXrv%=MB*IFH%^ZI9Xdd1%YTGhHb+cD_=PH)q9cTXNF?^*G7M#!(} zx1Lw?TY0|ygKyT?y*lvNxI1Gz{do59dijiLn}!8Xf4-*D-ddYGcUkvGjczf2>>XO{ zPp?sX=9g`LeV6Io`fIb>T=#sfZWz0?(Jt$ac6&yf1X%7hng42XpSr1Tsr}*<6Q-2f zuxDYjPQOO1nzE_$u1?+KmUPLi7ZP3dLZ>%_T7?xmG4t5TBL~LU=ob-kD5GEWyk&dV zS7=*w)WMex4*DGY_KfS0q#FwcUb|Cu%hfsVZaVC`!!;8OxOXrJ8Ms$E%(3o4YF@F z_ClTTwLOM?A6xT*UC&7^Dh8By399H;eMWqt3eBg?P9N9qWy)%w1rvjBIW1V+;PCcz z|E#1zb07UE`}Tm#&QP0yXIb&-fwQvLzx8n(+p}63`>)@%X^?PXq;bXh2ajKK{&9Ir z#nCR?w(Y;Ft-4HJ74suQdMSd54n10GU<=&@a%*cju`8oJMY>z=h`F_&oQOrCBa4NQ zyZLjclv@?aN$Iq{lsLsCcN)1nK~5S!;)fi?rFl=62y9^tjfj>GjoH_z{d6p&;p5%) zp$Mt^spAu(Vq@w#Rd;iDQmJFYV#A|ide(Dl->ykjA175pVn|GQNOWwBx}MVjb%Im< zudK}LhSUy=jt>ZlQz3zvgxVqXoFWqw<7!u{mJkM2F(kn)HclM_zXh+wW6RSI^5|d#H?+sIEPY-hQAUBx8d&3kG7KS+q zLTC(v3;cN(Z5U6%#Zw4VLvX1fxOfRJUV@9a;NtD1ij0nm>5UrE$w?Iv8|}|K2qvd$ zUs3C=!%`@gP-#_*Urxu`=@sk(&ntyxSy#r+!GB#n#>&9IGQbzeSz{0cXzmq*$m_s8 zV1o(jNN^Bqx#mctJ{SNfz1vV?2ViY?4mb)Pg4S6783WDyF0e*^wLy2V8@wpXSSKgO zhJfYZ6sYFRSR{s!Bj6!$#N4$$m;=sNVXRhF#0TTR8er{)Wj7CeQXHHDuRs}3qzSgv zWUROk;)7mbB6tWY*25>z!5TpIR-u|G3Pbh`*)tbV4wMHpnjvde381MMiolR9L$<6M za0k@^vSrAU)c|Nt<_(Y)s|9KU`i;E00NF7TN`2r98i0nN5%2>|KvUoknt|q^1!xHZ zKr29N-hrSEXbakb_8=H^03AUmK<`X+0kyFX-v+b=%WyrVfxVzO7H`~v2N-LIrFbwO zymW+|F(dVo-{)g8-w;0&O?R;2dS>}lT>^e;9IGO5L| zU6AR3zj7tNh$MqqKn}AnEBy!sMo-2cmd#R9QdkzP_G)f!v3jnRD?N;-ICt@FW^rjk^r)v?bM+S!9-maW^usVaF&NmW{tk zrZB=l$Lbr&xB?f>qzIfh&V6AR0_va+O~5q_bAN;7rue=+2*kzJ4LDk%^MN#6U?;&i zTgIjVcU(+gfmgs7?K2k_)N0VH6k|!i#)+}g;3BvUQqXh12hCCC_8=2I_Z`@V-g^M_ zK#z?9uIRO1U_At9iaGS>1r=w1%CQn?1hJwyYJy-0b~H#rV=V>;QQItV8*OWkUf^AX zv7VqkmLNxg#i;E$aG*G2&w)J}zbWv-cohLg;hNnH7P&B%0iL6_6)NGAGOlQ85P@s; z2QU)X>n4za+M41zeFn;-)_l!9QS;9U)jSy8h=>JiH8~lfdl9DC-TD^$L++y|@6Wc* z{ZGaQ!B5p^Sex8F+14^P7=Grzo6pzhHw1n?Y!+A2=a&M%#ADq?>+>55zu;%*uj=y~ z2EU-=nZf$}hQlv@Td#`x{Kmkq$B?~x%Q+T)H3n>{sxO{RRHtHv<~(1V*UyG2%(uIm zU%qutpP$P8(bw-D{r!hNKmIxtu11oM=0MM~9-%ZXJYvQ>yMuWALTPH!4fYO zvDk{J?B-0Wu;C>1SGYh)=&yN!lF;7-dXmT)fkjQiwMC>%+lrAgv|^+zzpbc0rk>0V zw_?7_Z#W4 z_*!U_@U=h^z7~8Ed3%(>By0+4ldvg-By0-tNfe+W*KD*&T(dzE*K7)0k+ns%Nvth` zB-R!wa79w=wMnGdBZ(CI0#_ukxHgHv;z%N}xPgi=o1C$X_MW+e>(~0bR?b+aNEL!Z z)fS9gO#MAdj!wjng7V2i@Z2$}Bel%t#!qcWYKa{}xiEej%u|2=k>ei8=V`dK`n!!B z_tp=UmU@e(wA$W6r8WLwY4vv!>>_@!wEFvo9D2ZqN=scrQ(A48pwcRZ(tdPLFx-be z)Dw!OYI+<_LLVyVkYX?i{ar%e@M3DwqhyvwGi*AzjBsv; zrwICRPb1J%5^Ch9!on3jeHntBF-t@`7}_aRLH@Ax7~Y2Dq`WL#m4c7x ztn?2gn^`7SACxXI(^I$@TZb5eh9DZ7u)w6}C`+SOuEPdvSy(2~9LYEn!Z8V%bSyYX1^du919SP>9=;3sg#UafA_|wx@bdBaceBngn4L__~VgR(nm}Ck4(-IZ1 aM0`v5TVhPJ#29AD%z!zt0QB!mJpK=*M*w&L literal 0 HcmV?d00001 diff --git a/muk_web_preview_msoffice/demo/preview_office_demo.xml b/muk_web_preview_msoffice/demo/preview_office_demo.xml new file mode 100644 index 0000000..2739c4a --- /dev/null +++ b/muk_web_preview_msoffice/demo/preview_office_demo.xml @@ -0,0 +1,13 @@ + + + + + + sample.doc + sample.doc + + + + + + \ No newline at end of file diff --git a/muk_web_preview_msoffice/tests/__init__.py b/muk_web_preview_msoffice/tests/__init__.py new file mode 100644 index 0000000..19346fa --- /dev/null +++ b/muk_web_preview_msoffice/tests/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import test_office_parse + diff --git a/muk_web_preview_msoffice/tests/test_office_parse.py b/muk_web_preview_msoffice/tests/test_office_parse.py new file mode 100644 index 0000000..aaadb60 --- /dev/null +++ b/muk_web_preview_msoffice/tests/test_office_parse.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import os +import base64 +import logging +import unittest + +from urllib.parse import urlunparse +from urllib.parse import urlparse +from urllib.parse import parse_qsl +from urllib.parse import urlencode +from contextlib import closing + +from odoo import _ +from odoo.tests import common + +from odoo.addons.muk_web_preview_mail.controllers import main + +_path = os.path.dirname(os.path.dirname(__file__)) +_logger = logging.getLogger(__name__) + +class OfficeParseTestCase(common.HttpCase): + + at_install = False + post_install = True + + def setUp(self): + super(OfficeParseTestCase, self).setUp() + self.sample_office_attachment = self.browse_ref('muk_web_preview_office.office_attachment_demo') + + def tearDown(self): + super(OfficeParseTestCase, self).tearDown() + + def test_parse_office(self): + self.authenticate('admin', 'admin') + url = "/web/preview/converter/msoffice" + params = {'url': "/web/content?id={}".format( + self.sample_office_attachment.id + )} + url_parts = list(urlparse(url)) + query = dict(parse_qsl(url_parts[4])) + query.update(params) + url_parts[4] = urlencode(query) + url = urlunparse(url_parts) + self.assertTrue(self.url_open(url)) \ No newline at end of file