[svn] commit: r54 - in /experiments/graff-ccapi/python: ISC/CC/Message.py ISC/CC/__init__.py ISC/Util/Hexdump.py ISC/Util/__init__.py test.py

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Oct 5 17:16:35 UTC 2009


Author: mgraff
Date: Mon Oct  5 17:16:35 2009
New Revision: 54

Log:
checkpoint

Modified:
    experiments/graff-ccapi/python/ISC/CC/Message.py
    experiments/graff-ccapi/python/ISC/CC/__init__.py
    experiments/graff-ccapi/python/ISC/Util/Hexdump.py
    experiments/graff-ccapi/python/ISC/Util/__init__.py
    experiments/graff-ccapi/python/test.py

Modified: experiments/graff-ccapi/python/ISC/CC/Message.py
==============================================================================
--- experiments/graff-ccapi/python/ISC/CC/Message.py (original)
+++ experiments/graff-ccapi/python/ISC/CC/Message.py Mon Oct  5 17:16:35 2009
@@ -18,85 +18,85 @@
 
 class DecodeError(Exception): pass
 
-PROTOCOL_VERSION = 0x536b616e
+class Message:
+    PROTOCOL_VERSION = 0x536b616e
 
-_ITEM_DATA = 0x01
-_ITEM_HASH = 0x02
-_ITEM_LIST = 0x03
-_ITEM_NULL = 0x04
-_ITEM_MASK = 0x0f
+    _ITEM_DATA = 0x01
+    _ITEM_HASH = 0x02
+    _ITEM_LIST = 0x03
+    _ITEM_NULL = 0x04
+    _ITEM_MASK = 0x0f
 
-_ITEM_LENGTH_32   = 0x00
-_ITEM_LENGTH_16   = 0x10
-_ITEM_LENGTH_8    = 0x20
-_ITEM_LENGTH_MASK = 0x30
+    _ITEM_LENGTH_32   = 0x00
+    _ITEM_LENGTH_16   = 0x10
+    _ITEM_LENGTH_8    = 0x20
+    _ITEM_LENGTH_MASK = 0x30
 
-def to_wire(self, items):
-    """Encode a dict into wire format"""
+    def to_wire(self, items):
+        """Encode a dict into wire format"""
 
-    ret = []
-    ret.append(struct.pack(">I", self.PROTOCOL_VERSION))
-    ret.append(self.encode_hash(items))
-    return (''.join(ret))
+        ret = []
+        ret.append(struct.pack(">I", self.PROTOCOL_VERSION))
+        ret.append(self._encode_hash(items))
+        return (''.join(ret))
 
-def _encode_tag(self, tag):
-    """Encode a single tag.  Private."""
+    def _encode_tag(self, tag):
+        """Encode a single tag.  Private."""
 
-    return(struct.pack(">B", len(tag)) + bytes(tag, 'ascii'))
+        return(struct.pack(">B", len(tag)) + tag)
 
-def _encode_length_and_type(self, data, datatype):
-    if data == None:
-        return(struct.pack(">B", self._ITEM_NULL))
-    length = len(data)
-    if length < 0x0000100:
-        return(struct.pack(">B B", datatype | self._ITEM_LENGTH_8, length)
-               + data)
-    elif length < 0x00010000:
-        return(struct.pack(">B H", datatype | self._ITEM_LENGTH_16, length)
-               + data)
-    else:
-        return(struct.pack(">B I", datatype, length) + data)
+    def _encode_length_and_type(self, data, datatype):
+        if data == None:
+            return(struct.pack(">B", self._ITEM_NULL))
+        length = len(data)
+        if length < 0x0000100:
+            return(struct.pack(">B B", datatype | self._ITEM_LENGTH_8, length)
+                   + data)
+        elif length < 0x00010000:
+            return(struct.pack(">B H", datatype | self._ITEM_LENGTH_16, length)
+                   + data)
+        else:
+            return(struct.pack(">B I", datatype, length) + data)
 
-def _pack_string(self, item):
-    return (self._encode_length_and_type(item, self._ITEM_DATA))
+    def _pack_string(self, item):
+        return (self._encode_length_and_type(item, self._ITEM_DATA))
 
-def _pack_array(self, item):
-    return (self._encode_length_and_type(self._encode_array(item),
-                                         self._ITEM_LIST))
+    def _pack_array(self, item):
+        return (self._encode_length_and_type(self._encode_array(item),
+                                             self._ITEM_LIST))
 
-def _pack_hash(self, item):
-    data = self._encode_hash(item)
-    return (self._encode_length_and_type(data, self._ITEM_HASH))
+    def _pack_hash(self, item):
+        data = self._encode_hash(item)
+        return (self._encode_length_and_type(data, self._ITEM_HASH))
 
-def _encode_string(self, item):
-    return (item)
+    def _encode_string(self, item):
+        return (item)
 
-def _pack_nil(self):
-    return self._encode_length_and_type(None, None)
+    def _pack_nil(self):
+        return self._encode_length_and_type(None, None)
 
-def _encode_item(self, item):
-    if item == None:
-        return (self._pack_nil())
-    elif item.__class__ == dict:
-        return (self._pack_hash(item))
-    elif item.__class__ == list:
-        return (self._pack_array(item))
-    else:
-        return (self._pack_string(str(item)))
+    def _encode_item(self, item):
+        if item == None:
+            return (self._pack_nil())
+        elif item.__class__ == dict:
+            return (self._pack_hash(item))
+        elif item.__class__ == list:
+            return (self._pack_array(item))
+        else:
+            return (self._pack_string(str(item)))
 
-def _encode_array(self, item):
-    ret = []
-    for i in item:
-        ret.append(self._encode_item(i))
-    return (''.join(ret))
+    def _encode_array(self, item):
+        ret = []
+        for i in item:
+            ret.append(self._encode_item(i))
+        return (''.join(ret))
 
-def _encode_hash(self, item):
-    ret = []
-    for key, value in item.items():
-        ret.append(self._encode_tag(key))
-        ret.append(self._encode_item(value))
-    return (''.join(ret))
-
+    def _encode_hash(self, item):
+        ret = []
+        for key, value in item.items():
+            ret.append(self._encode_tag(key))
+            ret.append(self._encode_item(value))
+        return (''.join(ret))
 
 if __name__ == "__main__":
     import doctest

Modified: experiments/graff-ccapi/python/ISC/CC/__init__.py
==============================================================================
--- experiments/graff-ccapi/python/ISC/CC/__init__.py (original)
+++ experiments/graff-ccapi/python/ISC/CC/__init__.py Mon Oct  5 17:16:35 2009
@@ -1,1 +1,1 @@
-import Message
+from Message import *

Modified: experiments/graff-ccapi/python/ISC/Util/Hexdump.py
==============================================================================
--- experiments/graff-ccapi/python/ISC/Util/Hexdump.py (original)
+++ experiments/graff-ccapi/python/ISC/Util/Hexdump.py Mon Oct  5 17:16:35 2009
@@ -1,14 +1,13 @@
 import sys
 
-class Hexdump:
-    FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
+_FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
 
-    def dump(src, length=16):
-        result=[]
-        for i in xrange(0, len(src), length):
-            s = src[i:i+length]
-            hexa = ' '.join(["%02X" % ord(x) for x in s])
-            printable = s.translate(FILTER)
-            item = "%08X   %-*s   %s\n" % (i, length * 3, hexa, printable)
-            result.append(item[0:34] + ' ' + item[34:])
-            print ''.join(result)
+def hexdump(src, length=16):
+    result=[]
+    for i in xrange(0, len(src), length):
+        s = src[i:i+length]
+        hexa = ' '.join(["%02X" % ord(x) for x in s])
+        printable = s.translate(_FILTER)
+        item = "%08X   %-*s   %s\n" % (i, length * 3, hexa, printable)
+        result.append(item[0:34] + ' ' + item[34:])
+        print ''.join(result)

Modified: experiments/graff-ccapi/python/ISC/Util/__init__.py
==============================================================================
--- experiments/graff-ccapi/python/ISC/Util/__init__.py (original)
+++ experiments/graff-ccapi/python/ISC/Util/__init__.py Mon Oct  5 17:16:35 2009
@@ -1,0 +1,1 @@
+from Hexdump import *

Modified: experiments/graff-ccapi/python/test.py
==============================================================================
--- experiments/graff-ccapi/python/test.py (original)
+++ experiments/graff-ccapi/python/test.py Mon Oct  5 17:16:35 2009
@@ -1,19 +1,10 @@
 import ISC
 
 cc = ISC.CC.Message()
-
-s = cc.encode_item("This is a test")
-ISC.Util.Hexdump.dump(s)
-
-s = cc.encode_item([1, 2, 3])
-ISC.Util.Hexdump.dump(s)
-
-s = cc.encode_item({ "a": "b" })
-ISC.Util.Hexdump.dump(s)
 
 ss = { "list": [ 1, 2, 3 ],
        "hash": { "hash1": 1, "hash2": 2 },
        "none": None,
        "string": "samplestring" }
 s = cc.to_wire(ss)
-ISC.Util.Hexdump.dump(s)
+ISC.Util.hexdump(s)




More information about the bind10-changes mailing list