From 1b1d20d6ac29c511d76ee3db83376edd2ae1c3f8 Mon Sep 17 00:00:00 2001 From: "locklainn.linden" Date: Fri, 25 Jul 2008 13:24:25 +0000 Subject: [PATCH] message code moved into its own package --- pyogp/lib/base/message/__init__.py | 0 pyogp/lib/base/message/__init__.pyc | Bin 0 -> 163 bytes pyogp/lib/base/{ => message}/data_packer.py | 2 +- pyogp/lib/base/message/data_packer.pyc | Bin 0 -> 3552 bytes pyogp/lib/base/{ => message}/message_template.py | 8 ++------ pyogp/lib/base/message/message_template.pyc | Bin 0 -> 7716 bytes .../{ => message}/message_template_builder.py | 6 +++--- .../base/message/message_template_builder.pyc | Bin 0 -> 6652 bytes .../base/{ => message}/message_template_dict.py | 2 +- pyogp/lib/base/message/message_template_dict.pyc | Bin 0 -> 2268 bytes .../{ => message}/message_template_parser.py | 2 +- .../lib/base/message/message_template_parser.pyc | Bin 0 -> 7786 bytes pyogp/lib/base/{ => message}/message_types.py | 0 pyogp/lib/base/message/message_types.pyc | Bin 0 -> 3496 bytes pyogp/lib/base/{ => tests}/packet_test.py | 4 ++-- pyogp/lib/base/tests/test_template_builder.py | 10 +++++----- pyogp/lib/base/tests/test_template_parser.py | 8 ++++---- 17 files changed, 19 insertions(+), 23 deletions(-) create mode 100644 pyogp/lib/base/message/__init__.py create mode 100644 pyogp/lib/base/message/__init__.pyc rename pyogp/lib/base/{ => message}/data_packer.py (97%) create mode 100644 pyogp/lib/base/message/data_packer.pyc rename pyogp/lib/base/{ => message}/message_template.py (97%) create mode 100644 pyogp/lib/base/message/message_template.pyc rename pyogp/lib/base/{ => message}/message_template_builder.py (97%) create mode 100644 pyogp/lib/base/message/message_template_builder.pyc rename pyogp/lib/base/{ => message}/message_template_dict.py (96%) create mode 100644 pyogp/lib/base/message/message_template_dict.pyc rename pyogp/lib/base/{ => message}/message_template_parser.py (99%) create mode 100644 pyogp/lib/base/message/message_template_parser.pyc rename pyogp/lib/base/{ => message}/message_types.py (100%) create mode 100644 pyogp/lib/base/message/message_types.pyc rename pyogp/lib/base/{ => tests}/packet_test.py (99%) diff --git a/pyogp/lib/base/message/__init__.py b/pyogp/lib/base/message/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pyogp/lib/base/message/__init__.pyc b/pyogp/lib/base/message/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e31b22d20fc1b9583fc8d872124f9d7a7f746f5c GIT binary patch literal 163 zcmdn|iI+=IIm;uN0SXv_v;z;*xMaeN>mR?R~l3r3`aVmrx1LVelxw)yu#fj;uG4b)4d6^~g@p=W7 W#T-BbZF2KdN^?@}K-LxmF#`bCB`AXc literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/data_packer.py b/pyogp/lib/base/message/data_packer.py similarity index 97% rename from pyogp/lib/base/data_packer.py rename to pyogp/lib/base/message/data_packer.py index eb59bd7..1bfb627 100644 --- a/pyogp/lib/base/data_packer.py +++ b/pyogp/lib/base/message/data_packer.py @@ -1,6 +1,6 @@ import struct -from pyogp.lib.base.message_types import MsgType +from pyogp.lib.base.message.message_types import MsgType class DataPacker(object): def __init__(self): diff --git a/pyogp/lib/base/message/data_packer.pyc b/pyogp/lib/base/message/data_packer.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3183e0dcea079ae50d091d334857dfd40a73a3c7 GIT binary patch literal 3552 zcmc&$-A)@v6h6D_{{V490wHbHUR0G;C01JyidqyELZcu#hO7Z8$kNK*UC4&THlA@+ zs`QH9RO;LGP5LN(f%ZFR7JC9TQZAfecIJF%XXpIPnQ!K=e`YJc{QbwXkg~r#`XBMA zRWuR)9XcjDFtSU>4y7&~xa340#U33x6y@l5qI05`2RRLr>O1~D)3yfB41S@0-wMSvAggnVZEpg>VxG)0OE zB9tg9icqGgBtnJ!R;`TLL$<|_hvx|%wFmTy=nYXIZQ`(;z;l-pkJjM81m}QV3+I77 z3m1TM7A^wkEnEUFShx&av~UHuWZ@gYWed*$S1deBYwX;drMhWURZDftsBT-Td84{x zsqPxpf~8u7IXnD&W{9m?x~jU5uLzZJ1L(>*iYmg!!Yu4}qirb|qBYPv(y zMYT^bi!PuUNa^T%5Q9l61p(^=rH4uH$j3X0NO|tmy z>O@}tZX&O)jEA=-!&}zymNmSE;Zo+9@~NeN3jNZxj{Y2nx<6djvze2P#(t)`|E}?o zp1b@(^iB&aS1hdPg=;OGjyhUb$FsixjEB9X-}|5Oqfrvce&&=m8hd+No4S;JzOlXC z(7gKmZfhr4-`w)HKw)G2qYsV5fAHwGjS{kl3t>NfQv|pDW~krJJoA`^U#}L z6@AE5!H$k8V+Y{P1r59|P=Ada!x7Lf{pOLz4)N&Rq5d4+fFK+Ot8nkruPge zl7Re&_p<4-kh4=3 z#9VNu>^IXCO$wYssxj3CjXB)EZHP8Zq@w{4~r@d literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/message_template.py b/pyogp/lib/base/message/message_template.py similarity index 97% rename from pyogp/lib/base/message_template.py rename to pyogp/lib/base/message/message_template.py index ba52f2c..72e1488 100644 --- a/pyogp/lib/base/message_template.py +++ b/pyogp/lib/base/message/message_template.py @@ -29,10 +29,6 @@ import re import pprint #local libraries -from makepacketdict import makepacketdict, makereversepacketdict - -mypacketdictionary = makepacketdict() -myreversedictionary = makereversepacketdict() """ can construct and deconstruct packet headers. Has nothing to do with the packet payload, yet. """ @@ -149,7 +145,7 @@ class MessageTemplate(object): return self.block_map[name] #these remain unformatted (by standard) because they are going to be moved -def decodeHeaderPair(frequency, num): +"""def decodeHeaderPair(frequency, num): return mypacketdictionary[(frequency, num)] def decodeFrequency(header): @@ -223,4 +219,4 @@ def encodeHeaderName(ack, sequenceNumber, packetName): def encodeHeader(ack, sequenceNumber, frequency, num): packetID = encodePacketID(frequency, num) - return ack + struct.pack('>LB', sequenceNumber, 0) + packetID + return ack + struct.pack('>LB', sequenceNumber, 0) + packetID""" diff --git a/pyogp/lib/base/message/message_template.pyc b/pyogp/lib/base/message/message_template.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e3af95268c0339e3ca3ab2556905a865e151ea1 GIT binary patch literal 7716 zcmc&(e~%N#8D87R{n$WC6GBUyHY0keuF_!$QKO1L#c?ExRbr&|k%;T5+x70)-eB)K zJ7bQk_zzSme^ly6soF2mzxz@81={C%XV*5q6AG&Ao;AbFJF_$I&u88l{_*b%{@?!f z-50S}{;lKRyC~-Gs1naRL|yZey7#2!9irjdb?>lVwHw}H!%G^TUh{ewUGrXg-V4ur ze0a`F&Q;X)DRtdTHY)1ol)B+1TNTxxQa8Qit%`bnO5O633l;V4Db**Fot+<$_kY$s z&%fJChgyxJ_=&d7@ri#on%F^Js0V45=uAC`y8hiHvRd7|apO1FZhUg>qmTW&-6GXJ z)ymS;rqM9{lQvkv4pfpBI<`4Rjqh(iNMoHD-O76TtzKFfd!nP_4%hkR&<)**u<<}Y zy}9lC`}z2!Nc#gTJMC5s1lr)Mc(9A@;->GHizaFU{t9IWTJ6aq_&~PXRbT1CqN@rlZN^RrZBeScu>_}2C7$H&J_CuTD*`qzh!OLP4}YyY!$=d)|z z()S-_Lv4&I^tThJFj3tT6^+3|9CcxxVRWoulBi#3jM4OoSy*oM47s}*HNv`RdsK#)9UQ{U$+jvc=+f*eZ3b1d+mePXC3u0 zQ2P(t_ge?8hi&veS9|Tp>UXX7{avM@8dyL-8yDmq45n0@PMUs4Q?XN}sU8N|H)9>A zy)=eIS$`7swd&_jb&)|3HP*!_H8h+7Yl%NhN2!gh^iPS?^tZ2Tx<8g6^yG&*;L%3YN$cWprknDn|dA4#h@OuNl)WVGuZp?f6Vk<-Ib z`EO`7TmVY|N$e&T4#PA{Z5VPtL(ueUTlh`ICi@~b4Fs_v6y!{6-ZvXwe#xu#tG*k% zoz=XWo8Smn(mFqT0kUX@vb9AiB4!}!;l79_oh71)faiN31v-H9y4+4N!a&)I>(}5}#}kJ{f)HF{(4*Q+#&` zAWCHd76_SVf~Xq;@Gqb#o!0>ey;76|r%QPV6G(+n#@l4n)x|6nSB0wLM0dcPp(8mo zox{`bgCXzYyE(?`0W&vTng@#Rh#Zwd1td!FAhuOS=odh65D4UWK`S{B6tJKGmTvVl z8cwv4A%Tijh(XTg#W0_PP=O%XV`-p>9GB2=j_A-F(%crOTM);&k4Q%!v|Ip+T7^Kg zKT)@`OAGx<9`eF6m4~1{J(}im{YCvWsK1BF4&}Ip19R>cP=^79U4eYUzys`6LG~s$ z=lv(R$m)lz1et~1AF+Fd6`_8{pR|@19Kk!->=uflegvKY&iq+&3V{BqgrT!BT4B=b zF&aQjBbo@+89*%fuPPV#9}!u_+=_)Z-bXQ1-)TT*N&twKtd=NB}o@sFajNC6c09A)^2{cFgWW1HZb))_O8U!~GL^m*T8`6KU~Lu^ zT)>6Pj0Vz@6L#_V-(wp?Rq|+Y>OU)1RvH{X0XGlH7cpOgW6Ls5%S+fndFQA?B*u{Z z(HZWc7{>TCJYFI(sWUO*a74+0!9-s_i!2F`)EnF?-D|R zB|2#K|I7?~U_es*Dl?qR4e77@9N$K@n3TY~ag|Qt=BIAcRPLPIid_mimqY%TU6f@b z6c6SRN{LVxYca#DDk2;&Toh)OGfE^XkXM>021KZDQL0>u2vZf|^flM~g%q6NC2@RxeObC6^Ac)(sy(4itieDxOWY_)w>3s=NB-D zULuzrff*w&K*9SY($fccN*wA!5J`}#$0uZ+#V0a6GW`&EWVuM$4hQ;~%w*pd6JsUC zWG~Tp$&Ka7Rc>pfVW~X9+vZ%bugV+gZqHB*4-UbzI@7D!@3d){E=?0H(IlB|yTJbt z%{eio3(}G?OLT8=?=4OBXY9BL2@TK$61LHJQ)K4H?nL6(i^xnTnFZc1Y3AK;@V|)i zWGNTpfER#(>14oTAmA3Ol1FZKx7~B@Z<*!@8m%|Z*YMlC{2qQ6FRx#I=W_qQcYzzE literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/message_template_builder.py b/pyogp/lib/base/message/message_template_builder.py similarity index 97% rename from pyogp/lib/base/message_template_builder.py rename to pyogp/lib/base/message/message_template_builder.py index 1cdbb60..6488429 100644 --- a/pyogp/lib/base/message_template_builder.py +++ b/pyogp/lib/base/message/message_template_builder.py @@ -2,11 +2,11 @@ import struct #pyogp libs -from pyogp.lib.base.message_template import MsgData, MsgBlockData, \ +from pyogp.lib.base.message.message_template import MsgData, MsgBlockData, \ MsgVariableData #import pyogp.lib.base.message_types -from pyogp.lib.base.message_types import MsgType, MsgBlockType, MsgFrequency, sizeof -from pyogp.lib.base.data_packer import DataPacker +from pyogp.lib.base.message.message_types import MsgType, MsgBlockType, MsgFrequency, sizeof +from pyogp.lib.base.message.data_packer import DataPacker class MessageTemplateBuilder(object): """ This class builds messages at its high level, that is, keeping diff --git a/pyogp/lib/base/message/message_template_builder.pyc b/pyogp/lib/base/message/message_template_builder.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8106381b6210753b026477fccecb6ffb5d3aa6f6 GIT binary patch literal 6652 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 U%Ln%0A9Cl?Q1h0&8}PS(1J!5#HUIzs literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/message_template_dict.py b/pyogp/lib/base/message/message_template_dict.py similarity index 96% rename from pyogp/lib/base/message_template_dict.py rename to pyogp/lib/base/message/message_template_dict.py index 6987978..8796062 100644 --- a/pyogp/lib/base/message_template_dict.py +++ b/pyogp/lib/base/message/message_template_dict.py @@ -1,5 +1,5 @@ from pyogp.lib.base.data import msg_tmpl -from pyogp.lib.base.message_types import MsgFrequency +from pyogp.lib.base.message.message_types import MsgFrequency class TemplateDictionary(object): def __init__(self, template_list): diff --git a/pyogp/lib/base/message/message_template_dict.pyc b/pyogp/lib/base/message/message_template_dict.pyc new file mode 100644 index 0000000000000000000000000000000000000000..674c14eabe17d0c7d3af88f26a204a32b47f98cc GIT binary patch literal 2268 zcmcgt&5j#I5U!rFy=%jYC4ulG6a@*1Ir+vVtfGXhH@i}7#F!{q%Tddo>2*38j~#bg ztfkE*$t5qskqhEQcoM`5z*ps&iI?PxZFjk=zn<>;>TiDkd$0A^pKp#6Dn51m-^Oq^ zAyWJlJtN8#4HPNX19}!v7SbSu9+IiinWD5tuZdm}oet`h)~O#g@VNa4pGaZmcOj;3 zqWyH9tyez8O4m(}7UucVn|M3RM~hWu7$5TkhWie}5ZeQDaO)so zBY6_Cbv&sNEaM4`5z7V*iu)0BO9F^;+~xCbLtMyVPXn6mlk!j$y;Ag2Q4ZEmfD`F} zib=?-t?@(H#7^l)d}7aSQn-;>=Wpc8ER%bEjd#p)xwvCrIODoS<!P>ygzcCqt%zM4(u zL$^qVGHYjc+#ZjdS*t^+Ls1J$hNVT-C2U%IzLMx_ZFB3jW+%HA->ml3e$d2Me9rtC z6QBQq$@y>W!NbSD(u;sD@Pkv~>42=F0|ej&{0t=^AF{VOI4yWPU?6`)>MdBWz)-;N zH^D{))&#u13GP&2T|k7huw<7m*7rB*ETDtuJM>Tj&3WDP5agN7kv%sl3?#Zg`^7WZ zHK|=rB`U{u@+4wc#Jp9O^3imi0cU02$5J1kVZ+hMqt2l|iaS3&==AQM>TajszjLqS zKLvLG$A|AhJ_pk69G*Prz6ZPp@c883@w-sWcKRI%F3Eg3jW{^*E(^|1iDwyPNvq0Q z?fha}X%(}DA7QvJAxP~|L+ytRbyc-CNBC|@e}L^pIw|_1FAb+BQX(OBBXlp<3hycZrG+G88F!nHEPh;z!m|FOVRVLm?^|xvA7QL)_9ryzil~YCv#;>J8r0Et9hjvHp8C0oc&cG zm-~J@9r;m=W%3-e|A0mJZ&z=D)!evs_u}lEjh~vt%bi2`7X!P@h;I71v$-p8xw EU;I`bX#fBK literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/message_template_parser.py b/pyogp/lib/base/message/message_template_parser.py similarity index 99% rename from pyogp/lib/base/message_template_parser.py rename to pyogp/lib/base/message/message_template_parser.py index aa2b866..a5022de 100644 --- a/pyogp/lib/base/message_template_parser.py +++ b/pyogp/lib/base/message/message_template_parser.py @@ -7,7 +7,7 @@ import pprint #local libraries import message_template from pyogp.lib.base.data import msg_tmpl -from pyogp.lib.base.message_types import MsgFrequency, MsgTrust, \ +from pyogp.lib.base.message.message_types import MsgFrequency, MsgTrust, \ MsgEncoding, MsgDeprecation, MsgBlockType, MsgType class MessageTemplateParser(object): diff --git a/pyogp/lib/base/message/message_template_parser.pyc b/pyogp/lib/base/message/message_template_parser.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae253fdf1015115dcc43c6f45d6dfcd0301b6df8 GIT binary patch literal 7786 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 literal 0 HcmV?d00001 diff --git a/pyogp/lib/base/message_types.py b/pyogp/lib/base/message/message_types.py similarity index 100% rename from pyogp/lib/base/message_types.py rename to pyogp/lib/base/message/message_types.py diff --git a/pyogp/lib/base/message/message_types.pyc b/pyogp/lib/base/message/message_types.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7372d4e23bf9a33c7cb95fd3720b324ec54a0f2c GIT binary patch literal 3496 zcmchaTW=dh6vxMR=YDA#D3{VwF6I{KMHL`~aN>1h)whi8Kv$Mlj&~cmb?o5XAO-P) zK;jLFN8XVTkBCpeBOifxz5sjy`2T0K$Bxq%q&9Z;c+PKUclP|}%$dz^|18Y@^!;}` zU3L0N;P(?8{?9P3Ql3%|V#T&c#!--X-#u)TlW>$`rt-w8ZFaE?xf2S;sx z)NPyAM!&bevET8%&~3wQ8~4!j{my~cKK*q9MDA}KooEiiaQrw-IuXp^r{3v4D)u`E zzG%ZJj5asWnARpW*2YdNJ0lA5svO1996@sgP1S-Gm~z>%EnRcAY6Z(Fmh;;Irw3G9 zWfOl07bDoPs?8A1g($yuFZ45^U#(RyNHY$&fFsl_6{S>hewVuEI7-k1oQ%NaozyrYrV?F7ByK;ll|l$q%NTYsnLnrVed3szlQ zTX|0RX=P~@>gOSHU<@xt6fVlwaYQwj%bj^Yxf`v488zx?OsD;+{nDtk%U%gSC+_NuZkDH~T^R`$A-8V-?TS(z4)dq8Cm)t2QZtZwk4eJS9c z$J4F%1M}o;-n=_*-@Y|&-@PN<8{_VciSCVw?hSO0Zdsh*MR3k4M=h84ylyZY-40AH zO%nH9r#oiq!^?J$v1N`1NV#w;HdnSS0_BvnqzSug2hySnQO?&+uP`Cxpk*|3~3T z;R*1sg{Ook!F$5f!c*Y8!ZX5o{||&`h4cQ`h0h4*{bz*F3g`X*R#9AY!rA{%;q$`T z|99aF!qect2wxPQ0slexlJG3}iST9NyiZ5?ig5NX311aX9c~K0B%IHGMfjR<>J!6! zD!j9DEmnK~;)99CY%>FTd`akKX;|iatS3FzxE#x^X7XqjQGJz$dyc+FbDid88kS`J z3eBrDuhFm~X{NV+gXT?|w`ks`VK(Xwns;g5gE6nc0n7FmozZw*Je`*XQ%3yWm)`Kf zJ&fqHEUMUYEc*nHs!`jFG~9oPDr4S`H7k;4`O)0Mwb7W8heF>%YaG03Jsk!7EJpe$ X{Kw*B=7P@xxIT|>dOeA6dj0Bu