Rev 4409: Turn Decoder.decode_object into _decode_object. in lp:///~jameinel/bzr/bencode_serializer

John Arbash Meinel john at arbash-meinel.com
Thu Jun 4 17:03:31 BST 2009


At lp:///~jameinel/bzr/bencode_serializer

------------------------------------------------------------
revno: 4409
revision-id: john at arbash-meinel.com-20090604160313-mo66r0hhgkg6vzil
parent: john at arbash-meinel.com-20090604155421-wdxp4le2q49jvg2q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: bencode_serializer
timestamp: Thu 2009-06-04 11:03:13 -0500
message:
  Turn Decoder.decode_object into _decode_object.
  
  def foo() functions have to be accessed via getattr() because they
  can be overridden by python code. While
  cdef _foo() functions can be accessed directly via the struct member.
-------------- next part --------------
=== modified file 'bzrlib/_bencode_pyx.pyx'
--- a/bzrlib/_bencode_pyx.pyx	2009-06-04 15:54:21 +0000
+++ b/bzrlib/_bencode_pyx.pyx	2009-06-04 16:03:13 +0000
@@ -80,18 +80,21 @@
         self._yield_tuples = int(yield_tuples)
 
     def decode(self):
-        result = self.decode_object()
+        result = self._decode_object()
         if self.size != 0:
             raise ValueError('junk in stream')
         return result
 
     def decode_object(self):
+        return self._decode_object()
+
+    cdef object _decode_object(self):
         cdef char ch
 
         if 0 == self.size:
             raise ValueError('stream underflow')
 
-        if Py_EnterRecursiveCall("decode_object"):
+        if Py_EnterRecursiveCall("_decode_object"):
             raise RuntimeError("too deeply nested")
         try:
             ch = self.tail[0]
@@ -172,7 +175,7 @@
                 else:
                     return result
             else:
-                result.append(self.decode_object())
+                result.append(self._decode_object())
 
         raise ValueError('malformed list')
 
@@ -194,7 +197,7 @@
                     raise ValueError('dict keys disordered')
                 else:
                     lastkey = key
-                value = self.decode_object()
+                value = self._decode_object()
                 result[key] = value
 
         raise ValueError('malformed dict')



More information about the bazaar-commits mailing list