Skip to content

unit with a name containing a slash cannot be read slash (/)  #306

@schmitts

Description

@schmitts

Using NixIO from neo 0.5.0, reading a unit with a slash (/) in its name leads to an error:

#!/usr/bin/env python

from neo import *

blk = Block()

# add a unit with a '/' in its name
unit = Unit(name="foo/bar")
chx = ChannelIndex([0])
chx.units.append(unit)
blk.channel_indexes.append(chx)

NixIO(filename="blk.h5", mode='ow').write(blk)

# fails: AttributeError: 'NixIO' object has no attribute 'read_fo'
NixIO(filename="blk.h5")
Traceback (most recent call last):
  File "./test_slash_in_name.py", line 13, in <module>
    NixIO(filename="blk.h5", mode='ow').write(blk)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/baseio.py", line 136, in write
    self.write_block(bl, **kargs)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 595, in write_block
    self._write_object(bl, loc)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 547, in _write_object
    self._write_cascade(obj, objpath)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 736, in _write_cascade
    write_func(ch, path)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 606, in write_channelindex
    self._write_object(chx, loc)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 547, in _write_object
    self._write_cascade(obj, objpath)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 736, in _write_cascade
    write_func(ch, path)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 718, in write_unit
    self._write_object(ut, loc)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 527, in _write_object
    oldobj = self.get(objpath, cascade=False, lazy=False)
  File "/wang/environment/software/jessie/spack/2017-01-26/opt/spack/linux-debian8-x86_64/gcc-4.9.2/py-neo-0.5.0-wxd2ru2f6ezgnmdmbjh2uft3qubp4bst/lib/python2.7/site-packages/neo-0.5.0-py2.7.egg/neo/io/nixio.py", line 483, in get
    read_func = getattr(self, "read_" + neotype)
AttributeError: 'NixIO' object has no attribute 'read_fo'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions