32
32
Subclasses should define a directory parameter.
35
directory = String(required=False)
37
37
def __init__(self, directory=None):
38
38
super(DirectoryRegistry, self).__init__()
39
self._directory = directory or self.directory
39
if directory is not None:
40
self.directory = directory
42
logging.info("Reading directory: %s", self._directory)
43
return "\n".join(os.listdir(self._directory))
43
logging.info("Reading directory: %s", self.directory)
44
return "\n".join(os.listdir(self.directory))
50
class RecursiveDirectoryRegistry(DirectoryRegistry):
51
"""Variant of the DirectoryRegistry that recurses into subdirectories."""
54
logging.info("Reading directory: %s", self.directory)
55
return "\n".join(self._listdir(self.directory))
57
def _listdir(self, root, path=""):
60
for file in os.listdir(os.path.join(root, path)):
61
pathname = os.path.join(path, file)
62
if os.path.isdir(os.path.join(root, pathname)):
63
files.extend(self._listdir(root, pathname))
65
files.append(pathname)