Allow non-basenames in dirize.

This commit is contained in:
Jeremy Fincher 2004-08-28 05:27:05 +00:00
parent a30dd2d8de
commit ae4b8f7861

View File

@ -539,11 +539,11 @@ class Directory(registry.String):
return v return v
def dirize(self, filename): def dirize(self, filename):
dir = self() if os.path.isabs(filename):
dirname = os.path.basename(filename) selfAbs = os.path.abspath(self())
if not dirname.endswith(dir): # ??? Should this be an "in" test instead? commonPrefix = os.path.commonprefix([selfAbs, filename])
return os.path.join(dir, os.path.basename(filename)) filename = filename[len(commonPrefix)+1:] # +1 for extra /.
return filename return os.path.join(self(), filename)
class DataFilename(registry.String): class DataFilename(registry.String):
def __call__(self): def __call__(self):