-class FileSystem:
+class Directory:
"""gnulib generic virtual file system"""
_SUBST_ = {
"build-aux" : "aux-dir",
"po" : "po-base",
}
+
def __init__(self, root, config):
if not isinstance(root, str):
raise TypeError("root must be of 'str' type")
parts += [part]
continue
if not replaced:
- for old, new in FileSystem._SUBST_.items():
+ for old, new in Directory._SUBST_.items():
if part == old:
part = self._config_[new]
replaced = True
-class GitFileSystem(FileSystem):
+class Git(Directory):
"""gnulib Git-based virtual file system"""
_EXCLUDE_ = {
"." : str.startswith,
def module(self, name, full=True):
"""instantiate gnulib module by its name"""
- if name in GitFileSystem._EXCLUDE_:
+ if name in Git._EXCLUDE_:
raise ValueError("illegal module name")
path = os.path.join(self["modules"], name)
return FileModule(path, name=name) if full else Module(name)
names = []
for name in files:
exclude = False
- for key, method in GitFileSystem._EXCLUDE_.items():
+ for key, method in Git._EXCLUDE_.items():
if method(name, key):
exclude = True
break