import fnmatch
import os
+import errno
import cwltool.stdfsaccess
from cwltool.pathmapper import abspath
collection, rest = self.get_collection(fn)
if collection:
if rest:
- return isinstance(collection.find(rest), arvados.collection.Collection)
+ return isinstance(collection.find(rest), arvados.collection.RichCollectionBase)
else:
return True
else:
dir = collection.find(rest)
else:
dir = collection
+ if dir is None:
+ raise IOError(errno.ENOENT, "Directory '%s' in '%s' not found" % (rest, collection.portable_data_hash()))
+ if not isinstance(dir, arvados.collection.RichCollectionBase):
+ raise IOError(errno.ENOENT, "Path '%s' in '%s' is not a Directory" % (rest, collection.portable_data_hash()))
return [abspath(l, fn) for l in dir.keys()]
else:
return super(CollectionFsAccess, self).listdir(fn)