[yt-dev] Issue #1338: _localize_check trying to join strings with None (yt_analysis/yt)

Anonymous issues-reply at bitbucket.org
Tue Mar 21 14:22:06 PDT 2017


New issue 1338: _localize_check trying to join strings with None
https://bitbucket.org/yt_analysis/yt/issues/1338/_localize_check-trying-to-join-strings

Anonymous:

In yt version 3.3.5 (installed by pip) run in python 2.7.13, when loading a BoxLib format folder I get the following message:

Traceback (most recent call last):
  File "get_plot.py", line 20, in <module>
    ds=yt.load(file_name)
  File "xxx/python2.7/site-packages/yt/convenience.py", line 86, in load
    return candidates[0](*args, **kwargs)
  File "xxx/python2.7/site-packages/yt/frontends/boxlib/data_structures.py", line 392, in __init__
    self.cparam_filename = self._localize_check(cparam_filename)
  File "xxx/python2.7/site-packages/yt/frontends/boxlib/data_structures.py", line 415, in _localize_check
    if os.path.exists(full_fn):
  File "xxx/python2.7/genericpath.py", line 26, in exists
    os.stat(path)
TypeError: coercing to Unicode: need string or buffer, NoneType found

The problem is occurring in the BoxLibDataset class of data_structures.py 
In the __init__ of this class, the parameters, cparam_filename, and fparam_filename are set to None. The function _localize_check will then try to see if if the files exist or not, however, it tries to join the root_dir with the variable cparam_filename which is set to none in the __init__ function. The code crashes because join cannot handle anything but strings and buffers, and it is getting None.

The version of yt in Anaconda (version 3.3.2) has the __init__ function of the BoxLibDataset class define cparam_filename and fparam_filename as string file names ('inputs' and something else I can't remember) that coincide with the BoxLib standards.




More information about the yt-dev mailing list