Skip to content
Snippets Groups Projects
  1. Aug 19, 2015
  2. Aug 11, 2015
    • David Gobbi's avatar
      Fix remaining py3k issues with vtk.tk module. · aa4e0d02
      David Gobbi authored
      Two major changes: 1) the vtkLoadPythonTkWidgets utility module is now
      imported explicitly as a relative module, necessitating absolute_import.
      The alternative is to import it as vtk.tk.vtkLoadPythonTkWidgets, which
      makes the tk module less mobile, in case someone wanted to incorporate it
      or the vtk module itself into a larger package (e.g. what paraview does).
      
      2) I've explicitly added an "if" check for python3 before importing the
      tkinter module.  This is done to ensure that an appropriate error is
      reported if the module fails to load (i.e. so that it won't complain
      about trying to import "tkinter" on Python 2, just because it had a
      fallthrough on an attemp to import "Tkinter".
      aa4e0d02
    • David Gobbi's avatar
      Add a few other minor py3k test fixes. · c7d7de28
      David Gobbi authored
      1) Change unicode string unicode string check in TestTemplates.py.
      2) Eliminate some obsolete imports (like "exceptions").
      3) Convert string to bytes in TestDataEncoder.py.
      c7d7de28
    • Andrew Maclean's avatar
      Fixing tests for Python3. · ae48313c
      Andrew Maclean authored and David Gobbi's avatar David Gobbi committed
      ae48313c
  3. Aug 10, 2015
    • David Gobbi's avatar
      Add a python function to check buffer equivalence. · 8320da24
      David Gobbi authored
      The python "buffer" and "memoryview" objects do not expose the pointer
      to the underlying memory, they only expose the contents of the memory.
      Likewise, if you check (buffer1 == buffer2) within python, then python
      will iterate through both buffers to see if they have the same contents!
      After all, for python, that's how equality is defined for sequence types.
      
      This commit adds a method called buffer_shared(ob1, ob2) that checks to
      see if two objects (e.g. arrays) expose the same block of memory via
      their buffer interface.  It assumes that the "buf" pointer is the lowest
      address of the buffer (i.e. the strides must be non-negative).
      
      It also adds two changes to dataset_adapter.py:
      1) The adapter now uses buffer_shared() instead of using "==" to compare
      buffers, because as stated above "==" does the wrong thing.
      2) It repairs an infinite recursion where __getattr__ called hasattr().
      The infinite recursion was caught silently by hasattr() itself in python2,
      but is exposed as a RuntimeError in python3.
      8320da24
    • David Gobbi's avatar
      Fix typo PYTHON_VERSION_HEX to PY_VERSION_HEX · d6f7466d
      David Gobbi authored
      A typo in vtkPythonArgs.cxx resulted in the use of a "char *" from a
      deleted Python object.  I've fixed the typo and have completely
      removed the code that can give rise to the invalid pointer.
      
      This commit also changes a BuildBytes to actually build a Bytes object
      on Python 3 (it was building a string).
      
      Under Python 3.2, the default locale encoding will be used for 8-bit
      strings rather than utf8 (similar to Python 2).  It wasn't until 3.3
      that unicode objects kept a cached copy of the utf8 string.
      d6f7466d
  4. Aug 09, 2015
  5. Aug 07, 2015
  6. Aug 06, 2015
    • David Gobbi's avatar
      Patch CommonCore python tests for py3k. · b7308b03
      David Gobbi authored
      This change modifies the python code for the tests so that they are
      cross-compatible between python 2 and python 3.  The new code will not
      run on Python 2.5 or earlier, because only python 2.6 and 2.7 allow
      py3k-friendly syntax.
      
      The numpy_interface does not fully support python 3 yet, due to changes
      in the way numeric operators work and the way type coercion is done.
      b7308b03
    • David Gobbi's avatar
      Python API compatibility for py3k. · d3eb4043
      David Gobbi authored
      This is a large change that adds conditional compilation to support
      both python 2 and python 3.  The header vtkPythonCompatibility.h
      does a lot of the necessary work:
      1) PyInt is redefined to PyLong for py3k
      2) PyString is redefied to PyUnicode for py3k
      3) PyBytes is redefined to PyString for python 2
      d3eb4043
    • David Gobbi's avatar
      Make vtk/__init__.py compatible with py3k. · c96458b9
      David Gobbi authored
      c96458b9
    • David Gobbi's avatar
      Fix PyVTKTemplate dict compatibility methods. · e1ff8866
      David Gobbi authored
      The get() method was incorrectly implemented and segfaulted.  Also,
      with py3k, the keys() method returned a special object instead of
      a plain list, and this caused the wrapping to fail.
      e1ff8866
    • David Gobbi's avatar
      Add the new py3k buffer interface. · 16bb32d4
      David Gobbi authored
      Python 3 introduced a multi-dimensional buffer interface, which was
      backported to Python 2.6 and Python 2.7.
      16bb32d4
    • David Gobbi's avatar
      Provide py3k module initialization. · f2aebb86
      David Gobbi authored
      This changes the return value of the "real_init" function from void
      to PyObject *, in accordance with the new PyInit method.
      f2aebb86
  7. Jul 30, 2015
  8. Jul 28, 2015
  9. Jul 27, 2015
  10. Jul 26, 2015
  11. Jul 23, 2015
  12. Jul 20, 2015
Loading