Skip to content

Commit 50d5540

Browse files
committed
allow using relative path in args
affects the following args: [ file, sync-dir,, state-dir, cache-dir ]
1 parent 1e40769 commit 50d5540

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

peru/runtime.py

+11-7
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,12 @@ async def _init_cache(self):
6161
self.cache = await cache.Cache(self.cache_dir)
6262

6363
def _set_paths(self, args, env):
64-
explicit_peru_file = args['--file']
65-
explicit_sync_dir = args['--sync-dir']
6664
explicit_basename = args['--file-basename']
65+
explicit_peru_file = os.path.abspath(
66+
args['--file']) if args['--file'] else None
67+
explicit_sync_dir = os.path.abspath(
68+
args['--sync-dir']) if args['--sync-dir'] else None
69+
6770
if explicit_peru_file and explicit_basename:
6871
raise CommandLineError(
6972
'Cannot use both --file and --file-basename at the same time.')
@@ -77,15 +80,16 @@ def _set_paths(self, args, env):
7780
basename = explicit_basename or parser.DEFAULT_PERU_FILE_NAME
7881
self.peru_file = find_project_file(os.getcwd(), basename)
7982
self.sync_dir = explicit_sync_dir
80-
8183
else:
8284
basename = explicit_basename or parser.DEFAULT_PERU_FILE_NAME
8385
self.peru_file = find_project_file(os.getcwd(), basename)
8486
self.sync_dir = os.path.dirname(self.peru_file)
85-
self.state_dir = (args['--state-dir']
86-
or os.path.join(self.sync_dir, '.peru'))
87-
self.cache_dir = (args['--cache-dir'] or env.get('PERU_CACHE_DIR')
88-
or os.path.join(self.state_dir, 'cache'))
87+
88+
self.state_dir = os.path.abspath(
89+
args['--state-dir']) if args['--state-dir'] else os.path.join(self.sync_dir, '.peru')
90+
91+
self.cache_dir = os.path.abspath(
92+
args['--cache-dir']) if args['--cache-dir'] else os.path.join(self.state_dir, 'cache')
8993

9094
def tmp_dir(self):
9195
dir = tempfile.TemporaryDirectory(dir=self._tmp_root)

0 commit comments

Comments
 (0)