diff --git a/src/python/jw/pkg/App.py b/src/python/jw/pkg/App.py index c7775ae5..a018fddb 100644 --- a/src/python/jw/pkg/App.py +++ b/src/python/jw/pkg/App.py @@ -83,6 +83,8 @@ class App(Base): match fmt: case 'unaltered': return path + case 'relative': + return os.path.relpath(path) case None | 'absolute': return os.path.abspath(path) case _: @@ -135,6 +137,8 @@ class App(Base): return os.path.abspath(pd) if self.__topdir_fmt == 'unaltered': return pd + if self.__topdir_fmt == 'relative': + return os.path.relpath(pd, self.__pretty_topdir) if name == self.__top_name: return self.__pretty_topdir raise NotImplementedError( @@ -151,7 +155,10 @@ class App(Base): if os.path.isdir(path): ret = format_pd(name, pd, pretty) if sd and sd[0] != '/': - ret += '/' + if ret == '.': + ret = '' + else: + ret += '/' ret += sd return ret for ret in search_absdirs: @@ -345,7 +352,7 @@ class App(Base): default = 'absolute', help = ( 'Output references to topdir as one of "make:", ' - '"unaltered", "absolute". Absolute topdir by default' + '"unaltered", "relative", "absolute". Absolute topdir by default' ), ) parser.add_argument(