Kaydet (Commit) 51788964 authored tarafından Pedro Giffuni's avatar Pedro Giffuni

pyuno: obsolete PyString_* in favor of PyBytes_*

Python3 removed the PyString functions and replaced them with PyBytes.

To aid portability Python version 2.6 and upper support PyBytes and
we are adding some compatibility defines for older versions so no
problems are expected from this change.

Reference: http://docs.python.org/c-api/string.html
üst 093977b1
...@@ -37,11 +37,20 @@ ...@@ -37,11 +37,20 @@
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#endif // #ifdef Py_PYTHON_H #endif // #ifdef Py_PYTHON_H
// Compatibility for older system Python (2.6 and previous) // Compatibility for older system Python (2.6 and previous)
#ifndef PyVarObject_HEAD_INIT #ifndef PyVarObject_HEAD_INIT
#define PyVarObject_HEAD_INIT(type, size) \ #define PyVarObject_HEAD_INIT(type, size) \
PyObject_HEAD_INIT(type) size, PyObject_HEAD_INIT(type) size,
#endif #endif
// define PyBytes_* as the equivalent string type methods.
#ifndef PyBytes_Check
#define PyBytes_Check PyString_Check
#define PyBytes_AsString PyString_AsString
#define PyBytes_FromString PyString_FromString
#define PyBytes_Size PyString_Size
#define PyBytes_FromStringAndSize PyString_FromStringAndSize
#endif
#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/script/CannotConvertException.hpp> #include <com/sun/star/script/CannotConvertException.hpp>
......
...@@ -441,7 +441,7 @@ PyObject *PyUNO_str( PyObject * self ) ...@@ -441,7 +441,7 @@ PyObject *PyUNO_str( PyObject * self )
buf.append( OUStringToOString(s,RTL_TEXTENCODING_ASCII_US) ); buf.append( OUStringToOString(s,RTL_TEXTENCODING_ASCII_US) );
} }
return PyString_FromString( buf.getStr()); return PyBytes_FromString( buf.getStr());
} }
PyObject* PyUNO_getattr (PyObject* self, char* name) PyObject* PyUNO_getattr (PyObject* self, char* name)
...@@ -647,7 +647,7 @@ static PyTypeObject PyUNOType = ...@@ -647,7 +647,7 @@ static PyTypeObject PyUNOType =
(printfunc) 0, (printfunc) 0,
(getattrfunc) PyUNO_getattr, (getattrfunc) PyUNO_getattr,
(setattrfunc) PyUNO_setattr, (setattrfunc) PyUNO_setattr,
(cmpfunc) PyUNO_cmp, PyUNO_cmp,
(reprfunc) PyUNO_repr, (reprfunc) PyUNO_repr,
0, 0,
0, 0,
......
...@@ -246,7 +246,7 @@ Any Adapter::invoke( const OUString &aFunctionName, ...@@ -246,7 +246,7 @@ Any Adapter::invoke( const OUString &aFunctionName,
buf.appendAscii( "pyuno::Adapater: Method " ).append( aFunctionName ); buf.appendAscii( "pyuno::Adapater: Method " ).append( aFunctionName );
buf.appendAscii( " is not implemented at object " ); buf.appendAscii( " is not implemented at object " );
PyRef str( PyObject_Repr( mWrappedObject.get() ), SAL_NO_ACQUIRE ); PyRef str( PyObject_Repr( mWrappedObject.get() ), SAL_NO_ACQUIRE );
buf.appendAscii( PyString_AsString( str.get() )); buf.appendAscii( PyBytes_AsString( str.get() ));
throw IllegalArgumentException( buf.makeStringAndClear(), Reference< XInterface > (),0 ); throw IllegalArgumentException( buf.makeStringAndClear(), Reference< XInterface > (),0 );
} }
......
...@@ -225,7 +225,7 @@ PyObject * extractOneStringArg( PyObject *args, char const *funcName ) ...@@ -225,7 +225,7 @@ PyObject * extractOneStringArg( PyObject *args, char const *funcName )
return NULL; return NULL;
} }
PyObject *obj = PyTuple_GetItem( args, 0 ); PyObject *obj = PyTuple_GetItem( args, 0 );
if( !PyString_Check( obj ) && ! PyUnicode_Check(obj)) if( !PyBytes_Check( obj ) && ! PyUnicode_Check(obj))
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( funcName ).append( ": expecting one string argument" ); buf.append( funcName ).append( ": expecting one string argument" );
...@@ -248,11 +248,11 @@ static PyObject *createUnoStructHelper(PyObject *, PyObject* args ) ...@@ -248,11 +248,11 @@ static PyObject *createUnoStructHelper(PyObject *, PyObject* args )
PyObject *structName = PyTuple_GetItem( args,0 ); PyObject *structName = PyTuple_GetItem( args,0 );
PyObject *initializer = PyTuple_GetItem( args ,1 ); PyObject *initializer = PyTuple_GetItem( args ,1 );
if( PyString_Check( structName ) ) if( PyBytes_Check( structName ) )
{ {
if( PyTuple_Check( initializer ) ) if( PyTuple_Check( initializer ) )
{ {
OUString typeName( OUString::createFromAscii(PyString_AsString(structName))); OUString typeName( OUString::createFromAscii(PyBytes_AsString(structName)));
RuntimeCargo *c = runtime.getImpl()->cargo; RuntimeCargo *c = runtime.getImpl()->cargo;
Reference<XIdlClass> idl_class ( c->xCoreReflection->forName (typeName),UNO_QUERY); Reference<XIdlClass> idl_class ( c->xCoreReflection->forName (typeName),UNO_QUERY);
if (idl_class.is ()) if (idl_class.is ())
...@@ -287,7 +287,7 @@ static PyObject *createUnoStructHelper(PyObject *, PyObject* args ) ...@@ -287,7 +287,7 @@ static PyObject *createUnoStructHelper(PyObject *, PyObject* args )
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( "UNO struct " ); buf.append( "UNO struct " );
buf.append( PyString_AsString(structName) ); buf.append( PyBytes_AsString(structName) );
buf.append( " is unkown" ); buf.append( " is unkown" );
PyErr_SetString (PyExc_RuntimeError, buf.getStr()); PyErr_SetString (PyExc_RuntimeError, buf.getStr());
} }
...@@ -463,7 +463,7 @@ static PyObject *getClass( PyObject *, PyObject *args ) ...@@ -463,7 +463,7 @@ static PyObject *getClass( PyObject *, PyObject *args )
{ {
Runtime runtime; Runtime runtime;
PyRef ret = getClass( PyRef ret = getClass(
OUString( PyString_AsString( obj), strlen(PyString_AsString(obj)),RTL_TEXTENCODING_ASCII_US), OUString( PyBytes_AsString( obj), strlen(PyBytes_AsString(obj)),RTL_TEXTENCODING_ASCII_US),
runtime ); runtime );
Py_XINCREF( ret.get() ); Py_XINCREF( ret.get() );
return ret.get(); return ret.get();
...@@ -603,9 +603,9 @@ static PyObject * invoke ( PyObject *, PyObject * args ) ...@@ -603,9 +603,9 @@ static PyObject * invoke ( PyObject *, PyObject * args )
{ {
PyObject *object = PyTuple_GetItem( args, 0 ); PyObject *object = PyTuple_GetItem( args, 0 );
if( PyString_Check( PyTuple_GetItem( args, 1 ) ) ) if( PyBytes_Check( PyTuple_GetItem( args, 1 ) ) )
{ {
const char *name = PyString_AsString( PyTuple_GetItem( args, 1 ) ); const char *name = PyBytes_AsString( PyTuple_GetItem( args, 1 ) );
if( PyTuple_Check( PyTuple_GetItem( args , 2 ))) if( PyTuple_Check( PyTuple_GetItem( args , 2 )))
{ {
ret = PyUNO_invoke( object, name , PyTuple_GetItem( args, 2 ) ); ret = PyUNO_invoke( object, name , PyTuple_GetItem( args, 2 ) );
...@@ -614,7 +614,7 @@ static PyObject * invoke ( PyObject *, PyObject * args ) ...@@ -614,7 +614,7 @@ static PyObject * invoke ( PyObject *, PyObject * args )
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( "uno.invoke expects a tuple as 3rd argument, got " ); buf.append( "uno.invoke expects a tuple as 3rd argument, got " );
buf.append( PyString_AsString( PyObject_Str( PyTuple_GetItem( args, 2) ) ) ); buf.append( PyBytes_AsString( PyObject_Str( PyTuple_GetItem( args, 2) ) ) );
PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() ); PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() );
} }
} }
...@@ -622,7 +622,7 @@ static PyObject * invoke ( PyObject *, PyObject * args ) ...@@ -622,7 +622,7 @@ static PyObject * invoke ( PyObject *, PyObject * args )
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( "uno.invoke expected a string as 2nd argument, got " ); buf.append( "uno.invoke expected a string as 2nd argument, got " );
buf.append( PyString_AsString( PyObject_Str( PyTuple_GetItem( args, 1) ) ) ); buf.append( PyBytes_AsString( PyObject_Str( PyTuple_GetItem( args, 1) ) ) );
PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() ); PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() );
} }
} }
...@@ -672,7 +672,7 @@ static PyObject *setCurrentContext( PyObject *, PyObject * args ) ...@@ -672,7 +672,7 @@ static PyObject *setCurrentContext( PyObject *, PyObject * args )
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( "uno.setCurrentContext expects an XComponentContext implementation, got " ); buf.append( "uno.setCurrentContext expects an XComponentContext implementation, got " );
buf.append( PyString_AsString( PyObject_Str( PyTuple_GetItem( args, 0) ) ) ); buf.append( PyBytes_AsString( PyObject_Str( PyTuple_GetItem( args, 0) ) ) );
PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() ); PyErr_SetString( PyExc_RuntimeError, buf.makeStringAndClear() );
} }
} }
...@@ -717,6 +717,7 @@ struct PyMethodDef PyUNOModule_methods [] = ...@@ -717,6 +717,7 @@ struct PyMethodDef PyUNOModule_methods [] =
extern "C" PY_DLLEXPORT void initpyuno() extern "C" PY_DLLEXPORT void initpyuno()
{ {
// noop when called already, otherwise needed to allow multiple threads // noop when called already, otherwise needed to allow multiple threads
// This has to be reworked for Python 3.
PyEval_InitThreads(); PyEval_InitThreads();
Py_InitModule (const_cast< char * >("pyuno"), PyUNOModule_methods); Py_InitModule (const_cast< char * >("pyuno"), PyUNOModule_methods);
} }
...@@ -154,8 +154,8 @@ static PyRef importUnoModule( ) throw ( RuntimeException ) ...@@ -154,8 +154,8 @@ static PyRef importUnoModule( ) throw ( RuntimeException )
OUStringBuffer buf; OUStringBuffer buf;
buf.appendAscii( "python object raised an unknown exception (" ); buf.appendAscii( "python object raised an unknown exception (" );
PyRef valueRep( PyObject_Repr( excValue.get() ), SAL_NO_ACQUIRE ); PyRef valueRep( PyObject_Repr( excValue.get() ), SAL_NO_ACQUIRE );
buf.appendAscii( PyString_AsString( valueRep.get())).appendAscii( ", traceback follows\n" ); buf.appendAscii( PyBytes_AsString( valueRep.get())).appendAscii( ", traceback follows\n" );
buf.appendAscii( PyString_AsString( str.get() ) ); buf.appendAscii( PyBytes_AsString( str.get() ) );
throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface > () ); throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface > () );
} }
PyRef dict( PyModule_GetDict( module.get() ) ); PyRef dict( PyModule_GetDict( module.get() ) );
...@@ -722,7 +722,7 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con ...@@ -722,7 +722,7 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con
double d = PyFloat_AsDouble (o); double d = PyFloat_AsDouble (o);
a <<= d; a <<= d;
} }
else if (PyString_Check (o)) else if (PyBytes_Check (o))
a <<= pyString2ustring(o); a <<= pyString2ustring(o);
else if( PyUnicode_Check( o ) ) else if( PyUnicode_Check( o ) )
a <<= pyString2ustring(o); a <<= pyString2ustring(o);
...@@ -743,10 +743,10 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con ...@@ -743,10 +743,10 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con
{ {
PyRef str(PyObject_GetAttrString( o , const_cast< char * >("value") ),SAL_NO_ACQUIRE); PyRef str(PyObject_GetAttrString( o , const_cast< char * >("value") ),SAL_NO_ACQUIRE);
Sequence< sal_Int8 > seq; Sequence< sal_Int8 > seq;
if( PyString_Check( str.get() ) ) if( PyBytes_Check( str.get() ) )
{ {
seq = Sequence<sal_Int8 > ( seq = Sequence<sal_Int8 > (
(sal_Int8*) PyString_AsString(str.get()), PyString_Size(str.get())); (sal_Int8*) PyBytes_AsString(str.get()), PyBytes_Size(str.get()));
} }
a <<= seq; a <<= seq;
} }
...@@ -879,7 +879,7 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con ...@@ -879,7 +879,7 @@ Any Runtime::pyObject2Any ( const PyRef & source, enum ConversionMode mode ) con
OUStringBuffer buf; OUStringBuffer buf;
buf.appendAscii( "Couldn't convert " ); buf.appendAscii( "Couldn't convert " );
PyRef reprString( PyObject_Str( o ) , SAL_NO_ACQUIRE ); PyRef reprString( PyObject_Str( o ) , SAL_NO_ACQUIRE );
buf.appendAscii( PyString_AsString( reprString.get() ) ); buf.appendAscii( PyBytes_AsString( reprString.get() ) );
buf.appendAscii( " to a UNO type" ); buf.appendAscii( " to a UNO type" );
throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface > () ); throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface > () );
} }
...@@ -909,14 +909,14 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue, ...@@ -909,14 +909,14 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue,
else else
{ {
str = PyRef( str = PyRef(
PyString_FromString( "Couldn't find uno._uno_extract_printable_stacktrace" ), PyBytes_FromString( "Couldn't find uno._uno_extract_printable_stacktrace" ),
SAL_NO_ACQUIRE ); SAL_NO_ACQUIRE );
} }
} }
else else
{ {
str = PyRef( str = PyRef(
PyString_FromString( "Couldn't find uno.py, no stacktrace available" ), PyBytes_FromString( "Couldn't find uno.py, no stacktrace available" ),
SAL_NO_ACQUIRE ); SAL_NO_ACQUIRE );
} }
...@@ -924,7 +924,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue, ...@@ -924,7 +924,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue,
else else
{ {
// it may occur, that no traceback is given (e.g. only native code below) // it may occur, that no traceback is given (e.g. only native code below)
str = PyRef( PyString_FromString( "no traceback available" ), SAL_NO_ACQUIRE); str = PyRef( PyBytes_FromString( "no traceback available" ), SAL_NO_ACQUIRE);
} }
if( isInstanceOfStructOrException( excValue.get() ) ) if( isInstanceOfStructOrException( excValue.get() ) )
...@@ -937,7 +937,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue, ...@@ -937,7 +937,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue,
PyRef typeName( PyObject_Str( excType.get() ), SAL_NO_ACQUIRE ); PyRef typeName( PyObject_Str( excType.get() ), SAL_NO_ACQUIRE );
if( typeName.is() ) if( typeName.is() )
{ {
buf.appendAscii( PyString_AsString( typeName.get() ) ); buf.appendAscii( PyBytes_AsString( typeName.get() ) );
} }
else else
{ {
...@@ -947,7 +947,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue, ...@@ -947,7 +947,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue,
PyRef valueRep( PyObject_Str( excValue.get() ), SAL_NO_ACQUIRE ); PyRef valueRep( PyObject_Str( excValue.get() ), SAL_NO_ACQUIRE );
if( valueRep.is() ) if( valueRep.is() )
{ {
buf.appendAscii( PyString_AsString( valueRep.get())); buf.appendAscii( PyBytes_AsString( valueRep.get()));
} }
else else
{ {
...@@ -956,7 +956,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue, ...@@ -956,7 +956,7 @@ Any Runtime::extractUnoException( const PyRef & excType, const PyRef &excValue,
buf.appendAscii( ", traceback follows\n" ); buf.appendAscii( ", traceback follows\n" );
if( str.is() ) if( str.is() )
{ {
buf.appendAscii( PyString_AsString( str.get() ) ); buf.appendAscii( PyBytes_AsString( str.get() ) );
} }
else else
{ {
......
...@@ -166,15 +166,15 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException ) ...@@ -166,15 +166,15 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException )
Any ret; Any ret;
PyRef typeName( PyObject_GetAttrString( obj,const_cast< char * >("typeName") ), SAL_NO_ACQUIRE); PyRef typeName( PyObject_GetAttrString( obj,const_cast< char * >("typeName") ), SAL_NO_ACQUIRE);
PyRef value( PyObject_GetAttrString( obj, const_cast< char * >("value") ), SAL_NO_ACQUIRE); PyRef value( PyObject_GetAttrString( obj, const_cast< char * >("value") ), SAL_NO_ACQUIRE);
if( !PyString_Check( typeName.get() ) || ! PyString_Check( value.get() ) ) if( !PyBytes_Check( typeName.get() ) || ! PyBytes_Check( value.get() ) )
{ {
throw RuntimeException( throw RuntimeException(
USTR_ASCII( "attributes typeName and/or value of uno.Enum are not strings" ), USTR_ASCII( "attributes typeName and/or value of uno.Enum are not strings" ),
Reference< XInterface > () ); Reference< XInterface > () );
} }
OUString strTypeName( OUString::createFromAscii( PyString_AsString( typeName.get() ) ) ); OUString strTypeName( OUString::createFromAscii( PyBytes_AsString( typeName.get() ) ) );
char *stringValue = PyString_AsString( value.get() ); char *stringValue = PyBytes_AsString( value.get() );
TypeDescription desc( strTypeName ); TypeDescription desc( strTypeName );
if( desc.is() ) if( desc.is() )
...@@ -204,7 +204,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException ) ...@@ -204,7 +204,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException )
{ {
OUStringBuffer buf; OUStringBuffer buf;
buf.appendAscii( "value " ).appendAscii( stringValue ).appendAscii( "is unknown in enum " ); buf.appendAscii( "value " ).appendAscii( stringValue ).appendAscii( "is unknown in enum " );
buf.appendAscii( PyString_AsString( typeName.get() ) ); buf.appendAscii( PyBytes_AsString( typeName.get() ) );
throw RuntimeException( buf.makeStringAndClear(), Reference<XInterface> () ); throw RuntimeException( buf.makeStringAndClear(), Reference<XInterface> () );
} }
ret = Any( &pEnumDesc->pEnumValues[i], desc.get()->pWeakRef ); ret = Any( &pEnumDesc->pEnumValues[i], desc.get()->pWeakRef );
...@@ -212,7 +212,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException ) ...@@ -212,7 +212,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException )
else else
{ {
OUStringBuffer buf; OUStringBuffer buf;
buf.appendAscii( "enum " ).appendAscii( PyString_AsString(typeName.get()) ).appendAscii( " is unknown" ); buf.appendAscii( "enum " ).appendAscii( PyBytes_AsString(typeName.get()) ).appendAscii( " is unknown" );
throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface> () ); throw RuntimeException( buf.makeStringAndClear(), Reference< XInterface> () );
} }
return ret; return ret;
...@@ -222,7 +222,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException ) ...@@ -222,7 +222,7 @@ Any PyEnum2Enum( PyObject *obj ) throw ( RuntimeException )
Type PyType2Type( PyObject * o ) throw(RuntimeException ) Type PyType2Type( PyObject * o ) throw(RuntimeException )
{ {
PyRef pyName( PyObject_GetAttrString( o, const_cast< char * >("typeName") ), SAL_NO_ACQUIRE); PyRef pyName( PyObject_GetAttrString( o, const_cast< char * >("typeName") ), SAL_NO_ACQUIRE);
if( !PyString_Check( pyName.get() ) ) if( !PyBytes_Check( pyName.get() ) )
{ {
throw RuntimeException( throw RuntimeException(
USTR_ASCII( "type object does not have typeName property" ), USTR_ASCII( "type object does not have typeName property" ),
...@@ -232,7 +232,7 @@ Type PyType2Type( PyObject * o ) throw(RuntimeException ) ...@@ -232,7 +232,7 @@ Type PyType2Type( PyObject * o ) throw(RuntimeException )
PyRef pyTC( PyObject_GetAttrString( o, const_cast< char * >("typeClass") ), SAL_NO_ACQUIRE ); PyRef pyTC( PyObject_GetAttrString( o, const_cast< char * >("typeClass") ), SAL_NO_ACQUIRE );
Any enumValue = PyEnum2Enum( pyTC.get() ); Any enumValue = PyEnum2Enum( pyTC.get() );
OUString name( OUString::createFromAscii( PyString_AsString( pyName.get() ) ) ); OUString name( OUString::createFromAscii( PyBytes_AsString( pyName.get() ) ) );
TypeDescription desc( name ); TypeDescription desc( name );
if( ! desc.is() ) if( ! desc.is() )
{ {
...@@ -278,8 +278,8 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target) ...@@ -278,8 +278,8 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target)
} }
PyModule_AddObject( PyModule_AddObject(
typesModule.get(), typesModule.get(),
PyString_AsString( target ), PyBytes_AsString( target ),
PyUNO_Type_new( PyString_AsString(str),tc,runtime ) ); PyUNO_Type_new( PyBytes_AsString(str),tc,runtime ) );
if( com::sun::star::uno::TypeClass_EXCEPTION == tc || if( com::sun::star::uno::TypeClass_EXCEPTION == tc ||
com::sun::star::uno::TypeClass_STRUCT == tc ) com::sun::star::uno::TypeClass_STRUCT == tc )
...@@ -298,7 +298,7 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target) ...@@ -298,7 +298,7 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target)
OUStringToOString( pDesc->ppEnumNames[i], RTL_TEXTENCODING_ASCII_US) ); OUStringToOString( pDesc->ppEnumNames[i], RTL_TEXTENCODING_ASCII_US) );
PyDict_SetItemString( PyDict_SetItemString(
dict, (char*)enumElementName.getStr(), dict, (char*)enumElementName.getStr(),
PyUNO_Enum_new(PyString_AsString(str) , enumElementName.getStr(), runtime ) ); PyUNO_Enum_new(PyBytes_AsString(str) , enumElementName.getStr(), runtime ) );
} }
} }
Py_INCREF( Py_None ); Py_INCREF( Py_None );
...@@ -319,7 +319,7 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target) ...@@ -319,7 +319,7 @@ PyObject *importToGlobal(PyObject *str, PyObject *dict, PyObject *target)
else else
{ {
OStringBuffer buf; OStringBuffer buf;
buf.append( "constant " ).append(PyString_AsString(str)).append( " unknown" ); buf.append( "constant " ).append(PyBytes_AsString(str)).append( " unknown" );
PyErr_SetString( PyExc_RuntimeError, buf.getStr() ); PyErr_SetString( PyExc_RuntimeError, buf.getStr() );
} }
} }
...@@ -379,8 +379,8 @@ static PyObject* callCtor( const Runtime &r , const char * clazz, const PyRef & ...@@ -379,8 +379,8 @@ static PyObject* callCtor( const Runtime &r , const char * clazz, const PyRef &
PyObject *PyUNO_Enum_new( const char *enumBase, const char *enumValue, const Runtime &r ) PyObject *PyUNO_Enum_new( const char *enumBase, const char *enumValue, const Runtime &r )
{ {
PyRef args( PyTuple_New( 2 ), SAL_NO_ACQUIRE ); PyRef args( PyTuple_New( 2 ), SAL_NO_ACQUIRE );
PyTuple_SetItem( args.get() , 0 , PyString_FromString( enumBase ) ); PyTuple_SetItem( args.get() , 0 , PyBytes_FromString( enumBase ) );
PyTuple_SetItem( args.get() , 1 , PyString_FromString( enumValue ) ); PyTuple_SetItem( args.get() , 1 , PyBytes_FromString( enumValue ) );
return callCtor( r, "Enum" , args ); return callCtor( r, "Enum" , args );
} }
...@@ -391,7 +391,7 @@ PyObject* PyUNO_Type_new (const char *typeName , TypeClass t , const Runtime &r ...@@ -391,7 +391,7 @@ PyObject* PyUNO_Type_new (const char *typeName , TypeClass t , const Runtime &r
// retrieve type object // retrieve type object
PyRef args( PyTuple_New( 2 ), SAL_NO_ACQUIRE ); PyRef args( PyTuple_New( 2 ), SAL_NO_ACQUIRE );
PyTuple_SetItem( args.get() , 0 , PyString_FromString( typeName ) ); PyTuple_SetItem( args.get() , 0 , PyBytes_FromString( typeName ) );
PyObject *typeClass = PyUNO_Enum_new( "com.sun.star.uno.TypeClass" , typeClassToString(t), r ); PyObject *typeClass = PyUNO_Enum_new( "com.sun.star.uno.TypeClass" , typeClassToString(t), r );
if( ! typeClass ) if( ! typeClass )
return NULL; return NULL;
...@@ -417,7 +417,7 @@ PyObject *PyUNO_ByteSequence_new( ...@@ -417,7 +417,7 @@ PyObject *PyUNO_ByteSequence_new(
const com::sun::star::uno::Sequence< sal_Int8 > &byteSequence, const Runtime &r ) const com::sun::star::uno::Sequence< sal_Int8 > &byteSequence, const Runtime &r )
{ {
PyRef str( PyRef str(
PyString_FromStringAndSize( (char*)byteSequence.getConstArray(), byteSequence.getLength()), PyBytes_FromStringAndSize( (char*)byteSequence.getConstArray(), byteSequence.getLength()),
SAL_NO_ACQUIRE ); SAL_NO_ACQUIRE );
PyRef args( PyTuple_New( 1 ), SAL_NO_ACQUIRE ); PyRef args( PyTuple_New( 1 ), SAL_NO_ACQUIRE );
PyTuple_SetItem( args.get() , 0 , str.getAcquired() ); PyTuple_SetItem( args.get() , 0 , str.getAcquired() );
......
...@@ -74,7 +74,7 @@ PyRef ustring2PyUnicode( const OUString & str ) ...@@ -74,7 +74,7 @@ PyRef ustring2PyUnicode( const OUString & str )
PyRef ustring2PyString( const OUString &str ) PyRef ustring2PyString( const OUString &str )
{ {
OString o = OUStringToOString( str, osl_getThreadTextEncoding() ); OString o = OUStringToOString( str, osl_getThreadTextEncoding() );
return PyRef( PyString_FromString( o.getStr() ), SAL_NO_ACQUIRE ); return PyRef( PyBytes_FromString( o.getStr() ), SAL_NO_ACQUIRE );
} }
OUString pyString2ustring( PyObject *pystr ) OUString pyString2ustring( PyObject *pystr )
...@@ -86,13 +86,13 @@ OUString pyString2ustring( PyObject *pystr ) ...@@ -86,13 +86,13 @@ OUString pyString2ustring( PyObject *pystr )
ret = OUString( (sal_Unicode * ) PyUnicode_AS_UNICODE( pystr ) ); ret = OUString( (sal_Unicode * ) PyUnicode_AS_UNICODE( pystr ) );
#else #else
PyObject* pUtf8 = PyUnicode_AsUTF8String(pystr); PyObject* pUtf8 = PyUnicode_AsUTF8String(pystr);
ret = OUString(PyString_AsString(pUtf8), PyString_Size(pUtf8), RTL_TEXTENCODING_UTF8); ret = OUString(PyBytes_AsString(pUtf8), PyBytes_Size(pUtf8), RTL_TEXTENCODING_UTF8);
Py_DECREF(pUtf8); Py_DECREF(pUtf8);
#endif #endif
} }
else else
{ {
char *name = PyString_AsString(pystr ); char *name = PyBytes_AsString(pystr );
ret = OUString( name, strlen(name), osl_getThreadTextEncoding() ); ret = OUString( name, strlen(name), osl_getThreadTextEncoding() );
} }
return ret; return ret;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment