comparison python_to_octave.cc @ 365:087e7bc3697f

Do not automatically convert Python strings to Octave strings (fixes issue #65) * python_to_octave.cc (pytave::pyobj_to_octvalue): Drop conversion of bytes and unicode objects. * __py_struct_from_dict__.cc (F__py_string_value__): New function. * @pyobject/char.m: Define outside class definition, use __py_string_value__. * @pyobject/pyobject.m: Delete previous pyobject.char definition. * @pyobject/methods.m: Apply char conversion to __name__ attribute. * @py/py.m, @pyobject/cell.m, @pyobject/dummy.m, @pyobject/subsasgn.m, @pyobject/subsref.m, pyargs.m, pycall.cc, pyeval.cc: Adapt examples and tests to changes.
author Mike Miller <mtmiller@octave.org>
date Thu, 25 Aug 2016 14:06:56 -0700
parents b0677c492655
children 09a1acb81d8b
comparison
equal deleted inserted replaced
364:1470ed26917a 365:087e7bc3697f
325 oct_value = extract_py_float (py_object.ptr ()); 325 oct_value = extract_py_float (py_object.ptr ());
326 else if (PyComplex_Check (py_object.ptr ())) 326 else if (PyComplex_Check (py_object.ptr ()))
327 oct_value = extract_py_complex (py_object.ptr ()); 327 oct_value = extract_py_complex (py_object.ptr ());
328 else if (arrayx.check ()) 328 else if (arrayx.check ())
329 pyarr_to_octvalue (oct_value, (PyArrayObject*)py_object.ptr ()); 329 pyarr_to_octvalue (oct_value, (PyArrayObject*)py_object.ptr ());
330 else if (PyBytes_Check (py_object.ptr ()) || PyUnicode_Check (py_object.ptr ()))
331 oct_value = extract_py_str (py_object.ptr ());
332 else 330 else
333 oct_value = pyobject_wrap_object (py_object.ptr ()); 331 oct_value = pyobject_wrap_object (py_object.ptr ());
334 } 332 }
335 333
336 void pytuple_to_octlist (octave_value_list& octave_list, 334 void pytuple_to_octlist (octave_value_list& octave_list,