From 2cf85ae16f79b5edcbfa34d57b477c984c79e7a5 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Mon, 29 Jan 2018 00:10:43 +0000 Subject: Use os.path: basename() and dirname() instead of split() According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split --- mesonbuild/build.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mesonbuild/build.py') diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 5eab794..98fd764 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -1065,7 +1065,7 @@ class Generator: depfile = kwargs['depfile'] if not isinstance(depfile, str): raise InvalidArguments('Depfile must be a string.') - if os.path.split(depfile)[1] != depfile: + if os.path.basename(depfile) != depfile: raise InvalidArguments('Depfile must be a plain filename without a subdirectory.') self.depfile = depfile if 'capture' in kwargs: @@ -1075,7 +1075,7 @@ class Generator: self.capture = capture def get_base_outnames(self, inname): - plainname = os.path.split(inname)[1] + plainname = os.path.basename(inname) basename = os.path.splitext(plainname)[0] bases = [x.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) for x in self.outputs] return bases @@ -1083,12 +1083,12 @@ class Generator: def get_dep_outname(self, inname): if self.depfile is None: raise InvalidArguments('Tried to get dep name for rule that does not have dependency file defined.') - plainname = os.path.split(inname)[1] + plainname = os.path.basename(inname) basename = os.path.splitext(plainname)[0] return self.depfile.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) def get_arglist(self, inname): - plainname = os.path.split(inname)[1] + plainname = os.path.basename(inname) basename = os.path.splitext(plainname)[0] return [x.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) for x in self.arglist] @@ -1130,7 +1130,7 @@ class GeneratedList: in_abs = infile.absolute_path(state.environment.source_dir, state.environment.build_dir) assert(os.path.isabs(self.preserve_path_from)) rel = os.path.relpath(in_abs, self.preserve_path_from) - path_segment = os.path.split(rel)[0] + path_segment = os.path.dirname(rel) for of in outfiles: result.append(os.path.join(path_segment, of)) return result @@ -1659,7 +1659,7 @@ class CustomTarget(Target): depfile = kwargs['depfile'] if not isinstance(depfile, str): raise InvalidArguments('Depfile must be a string.') - if os.path.split(depfile)[1] != depfile: + if os.path.basename(depfile) != depfile: raise InvalidArguments('Depfile must be a plain filename without a subdirectory.') self.depfile = depfile self.command = self.flatten_command(kwargs['command']) -- cgit v1.1