From e2aff4f388eee0059b44ddcc70b47a975468cfab Mon Sep 17 00:00:00 2001 From: "Martin A. Brown" Date: Thu, 3 Mar 2016 11:21:54 -0800 Subject: [PATCH] add alternate constructor --- tldp/outputs.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tldp/outputs.py b/tldp/outputs.py index a6a8d9a..cb65487 100644 --- a/tldp/outputs.py +++ b/tldp/outputs.py @@ -98,7 +98,12 @@ class OutputDirectory(OutputNamingConvention): def __repr__(self): return '<%s:%s>' % (self.__class__.__name__, self.dirname) - def __init__(self, dirname): + @classmethod + def fromsource(cls, dirname, source): + newname = os.path.join(dirname, source.stem) + return cls(newname, source=source) + + def __init__(self, dirname, source=None): '''constructor :param dirname: directory name for all output documents @@ -117,7 +122,7 @@ class OutputDirectory(OutputNamingConvention): raise IOError(errno.ENOENT, os.strerror(errno.ENOENT), parent) self.statinfo = statfiles(self.dirname, relative=self.dirname) self.status = 'output' - self.source = None + self.source = source self.logdir = os.path.join(self.dirname, logdir) def clean(self):