You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2008/05/13 21:16:16 UTC

svn commit: r655976 - in /incubator/qpid/trunk/qpid/python: mllib/__init__.py qpid/compat.py qpid/connection08.py tests_0-10/dtx.py

Author: rhs
Date: Tue May 13 12:16:15 2008
New Revision: 655976

URL: http://svn.apache.org/viewvc?rev=655976&view=rev
Log:
QPID-954: added fallbacks and fixes for running the python client on python 2.3

Added:
    incubator/qpid/trunk/qpid/python/qpid/compat.py   (with props)
Modified:
    incubator/qpid/trunk/qpid/python/mllib/__init__.py
    incubator/qpid/trunk/qpid/python/qpid/connection08.py
    incubator/qpid/trunk/qpid/python/tests_0-10/dtx.py

Modified: incubator/qpid/trunk/qpid/python/mllib/__init__.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/mllib/__init__.py?rev=655976&r1=655975&r2=655976&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/python/mllib/__init__.py (original)
+++ incubator/qpid/trunk/qpid/python/mllib/__init__.py Tue May 13 12:16:15 2008
@@ -22,7 +22,7 @@
 both SGML and XML.
 """
 
-import dom, transforms, parsers
+import os, dom, transforms, parsers
 import xml.sax, types
 from cStringIO import StringIO
 
@@ -49,7 +49,9 @@
   p.close()
   return p.parser.tree
 
-def xml_parse(source):
+def xml_parse(filename):
+  # XXX: this is for older versions of python
+  source = "file://%s" % os.path.abspath(filename) 
   p = parsers.XMLParser()
   xml.sax.parse(source, p)
   return p.parser.tree

Added: incubator/qpid/trunk/qpid/python/qpid/compat.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/qpid/compat.py?rev=655976&view=auto
==============================================================================
--- incubator/qpid/trunk/qpid/python/qpid/compat.py (added)
+++ incubator/qpid/trunk/qpid/python/qpid/compat.py Tue May 13 12:16:15 2008
@@ -0,0 +1,28 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+try:
+  set = set
+except NameError:
+  from sets import Set as set
+
+try:
+  from socket import SHUT_RDWR
+except ImportError:
+  SHUT_RDWR = 2

Propchange: incubator/qpid/trunk/qpid/python/qpid/compat.py
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/qpid/trunk/qpid/python/qpid/connection08.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/qpid/connection08.py?rev=655976&r1=655975&r2=655976&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/python/qpid/connection08.py (original)
+++ incubator/qpid/trunk/qpid/python/qpid/connection08.py Tue May 13 12:16:15 2008
@@ -27,6 +27,7 @@
 from cStringIO import StringIO
 from spec import load
 from codec import EOF
+from compat import SHUT_RDWR
 
 class SockIO:
 
@@ -54,7 +55,8 @@
     pass
 
   def close(self):
-    self.sock.shutdown(socket.SHUT_RDWR)
+    self.sock.shutdown(SHUT_RDWR)
+    self.sock.close()
 
 def connect(host, port):
   sock = socket.socket()
@@ -407,7 +409,6 @@
     else:
       return Header.decode_legacy(spec, c, size)
 
-  @staticmethod
   def decode_structs(spec, c, size):
     structs = []
     start = c.nread
@@ -425,7 +426,8 @@
             length = s.get(f.name)
     return Header(None, 0, length, props)
 
-  @staticmethod
+  decode_structs = staticmethod(decode_structs)
+
   def decode_legacy(spec, c, size):
     klass = spec.classes.byid[c.decode_short()]
     weight = c.decode_short()
@@ -453,6 +455,8 @@
         properties[str(f.name)] = c.decode(f.type)
     return Header(klass, weight, size, properties)
 
+  decode_legacy = staticmethod(decode_legacy)
+
   def __str__(self):
     return "%s %s %s %s" % (self.klass, self.weight, self.size,
                             self.properties)

Modified: incubator/qpid/trunk/qpid/python/tests_0-10/dtx.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/tests_0-10/dtx.py?rev=655976&r1=655975&r2=655976&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/python/tests_0-10/dtx.py (original)
+++ incubator/qpid/trunk/qpid/python/tests_0-10/dtx.py Tue May 13 12:16:15 2008
@@ -21,6 +21,7 @@
 from qpid.datatypes import Message, RangedSet
 from qpid.session import SessionException
 from qpid.testlib import TestBase010
+from qpid.compat import set
 from struct import pack, unpack
 from time import sleep