diff options
author | Frederick Ding <[email protected]> | 2019-02-27 22:09:24 +0000 |
---|---|---|
committer | John Stebbins <[email protected]> | 2019-02-28 06:25:07 -0800 |
commit | 22ee1a38eac473ce81d487f88ca58382abbaa0cb (patch) | |
tree | f6a7930c666b39c5b1776609a83d41e4d74ee50b | |
parent | f60354ef7ece3c69a0c6e83021778c28270b2880 (diff) |
Fix Py3 compat and logic/syntax in handling version.txt
The first fix addresses the problem that readlines() gives back a
list of strings, which do not have the `.decode()` method that bytes do.
But `_parseSession()` is used both for the bytes output by running
`repo-info.sh` and for the strings output by ingesting `version.txt`.
So we still need to handle the bytes case.
The second fix addresses syntax and logic problems. If a string is
not empty, `if self.hash` will check that it's non-empty (I don't think
`is not empty` actually works -- it has given me a NameError). And the
string comparison should be done by value equality, not reference
equality.
-rw-r--r-- | make/configure.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/make/configure.py b/make/configure.py index 64e12556c..f132b9ec4 100644 --- a/make/configure.py +++ b/make/configure.py @@ -718,7 +718,8 @@ class RepoProbe( ShellProbe ): def _parseSession( self ): for line in self.session: - line = line.decode('utf-8') + if isinstance(line, bytes): + line = line.decode('utf-8') ## grok fields m = re.match( '([^\=]+)\=(.*)', line ) @@ -785,7 +786,7 @@ class RepoProbe( ShellProbe ): self.session = in_file.readlines() if self.session: self._parseSession() - if self.hash is not empty and self.hash is not 'deadbeaf': + if self.hash and self.hash != 'deadbeaf': cfg.infof( '(pass)\n' ) else: cfg.infof( '(fail)\n' ) |