Index: hla/omt/array.py =================================================================== RCS file: /sources/certi/applications/PyHLA/hla/omt/array.py,v retrieving revision 1.4 diff -u -r1.4 array.py --- hla/omt/array.py 23 Jun 2011 18:45:37 -0000 1.4 +++ hla/omt/array.py 19 Sep 2011 11:25:31 -0000 @@ -37,12 +37,12 @@ return self.elementType.octetBoundary def pack(self, value): - buffer = "" + buffer = bytes() if(len(value) != self.cardinality): raise TypeError("expecting %i elements" % (self.cardinality)) for element in value: - buffer += padding(len(buffer), self.elementType.octetBoundary)*'\0' + buffer += padding(len(buffer), self.elementType.octetBoundary) * bytes("\0", encoding='utf-8') buffer += self.elementType.pack(element) return buffer @@ -74,7 +74,7 @@ raise TypeError("expecting %i elements" % (self.cardinality)) for element in value: - buffer += padding(len(buffer), self.elementType.octetBoundary)*'\0' + buffer += padding(len(buffer), self.elementType.octetBoundary)* bytes("\0", encoding='utf-8') buffer += self.elementType.pack(element) return buffer Index: hla/omt/basic.py =================================================================== RCS file: /sources/certi/applications/PyHLA/hla/omt/basic.py,v retrieving revision 1.1 diff -u -r1.1 basic.py --- hla/omt/basic.py 25 Sep 2008 17:17:44 -0000 1.1 +++ hla/omt/basic.py 19 Sep 2011 11:25:31 -0000 @@ -16,5 +16,12 @@ def padding(size, boundary): return boundary - ((size-1)%boundary + 1) +# Test Python version and define the 'bytes' operator accordingly +from sys import version_info + +if version_info < (3,0): + def bytes(string='', encoding="utf-8"): + return string + # $Id: basic.py,v 1.1 2008/09/25 17:17:44 gotthardp Exp $ Index: hla/omt/record.py =================================================================== RCS file: /sources/certi/applications/PyHLA/hla/omt/record.py,v retrieving revision 1.4 diff -u -r1.4 record.py --- hla/omt/record.py 23 Jun 2011 18:45:37 -0000 1.4 +++ hla/omt/record.py 19 Sep 2011 11:25:31 -0000 @@ -44,9 +44,9 @@ return self._octetBoundary def pack(self, value): - buffer = "" + buffer = bytes() for fieldName, fieldType in self.fields: - buffer += padding(len(buffer), fieldType.octetBoundary)*'\0' + buffer += padding(len(buffer), fieldType.octetBoundary) * bytes("\0", encoding='utf-8') buffer += fieldType.pack(value[fieldName]) return buffer @@ -102,10 +102,10 @@ buffer = self.discriminantType.pack(value[self.discriminantName]) fieldName, fieldType = self.getAlternative(value[self.discriminantName]) if(fieldName != None): - buffer += padding(len(buffer), fieldType.octetBoundary)*'\0' + buffer += padding(len(buffer), fieldType.octetBoundary) * bytes("\0", encoding='utf-8') buffer += fieldType.pack(value[fieldName]) else: - buffer += padding(len(buffer), self.octetBoundary)*'\0' + buffer += padding(len(buffer), self.octetBoundary) * bytes("\0", encoding='utf-8') return buffer def unpack(self, buffer, offset = 0):