1.1 --- a/moinformat/utils/directory.py Mon Aug 06 00:31:33 2018 +0200
1.2 +++ b/moinformat/utils/directory.py Mon Aug 06 15:44:10 2018 +0200
1.3 @@ -30,8 +30,8 @@
1.4
1.5 "Return whether 'filename' is inside 'dirname'."
1.6
1.7 - dirname = join(dirname, "")
1.8 - return commonprefix((filename, dirname)) == dirname
1.9 + dirprefix = join(dirname, "")
1.10 + return filename == dirname or commonprefix((filename, dirprefix)) == dirprefix
1.11
1.12 def within(filename, dirname):
1.13
1.14 @@ -57,13 +57,6 @@
1.15
1.16 self.filename = abspath(filename)
1.17
1.18 - def ensure(self):
1.19 -
1.20 - "Ensure that this directory exists."
1.21 -
1.22 - if not exists(self.filename):
1.23 - makedirs(self.filename)
1.24 -
1.25 def get_filename(self, filename):
1.26
1.27 """
1.28 @@ -88,6 +81,17 @@
1.29
1.30 return fn(self.get_filename(filename))
1.31
1.32 + def ensure(self, filename=None):
1.33 +
1.34 + """
1.35 + Ensure that this directory, or a directory 'filename' within it, exists.
1.36 + """
1.37 +
1.38 + pathname = filename and self.get_filename(filename) or self.filename
1.39 +
1.40 + if not exists(pathname):
1.41 + makedirs(pathname)
1.42 +
1.43 def exists(self, filename):
1.44
1.45 "Return whether the relative 'filename' exists within the directory."