summaryrefslogtreecommitdiff
path: root/odoo/tools/which.py
diff options
context:
space:
mode:
authorxmo-odoo <xmo@odoo.com>2017-04-25 13:04:54 +0200
committerGitHub <noreply@github.com>2017-04-25 13:04:54 +0200
commit3cbca4b7348b60eb6cfe3f423983d53dada67862 (patch)
tree0ee9739f66c5616219e50f9e21dc4d416f09b454 /odoo/tools/which.py
parent4441237b0a80cc8eca04a35ad825bce876a2d7b6 (diff)
[FIX] iterator definition & stepping
* in P3, the iterator stepping method has become a dunder method (next -> __next__), the protocol has not changed, add a __next__ alias to the iterator-next definition (nota: ir.config also has a next method but it's not part of an iterator, so don't alias it and don't convert calls to it) * since ~2.6, a builtin (next()) has been added to step an iterator & allow for a default (in case of iterator end), convert all manual stepping to the builtin Fixers: libfuturize.fixes.fix_next_call #8530
Diffstat (limited to 'odoo/tools/which.py')
-rwxr-xr-xodoo/tools/which.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/odoo/tools/which.py b/odoo/tools/which.py
index 548b836247c..7c37c5fb674 100755
--- a/odoo/tools/which.py
+++ b/odoo/tools/which.py
@@ -44,6 +44,7 @@ __all__ = 'which which_files pathsep defpath defpathext F_OK R_OK W_OK X_OK'.spl
import sys
from os import access, defpath, pathsep, environ, F_OK, R_OK, W_OK, X_OK
from os.path import exists, dirname, split, join
+ENOENT = 2
windows = sys.platform.startswith('win')
@@ -138,15 +139,10 @@ def which(file, mode=F_OK | X_OK, path=None, pathext=None):
>>> # for doctest see which_files()
"""
- try:
- return iter(which_files(file, mode, path, pathext)).next()
- except StopIteration:
- try:
- from errno import ENOENT
- except ImportError:
- ENOENT = 2
+ path = next(which_files(file, mode, path, pathext), None)
+ if path is None:
raise IOError(ENOENT, '%s not found' % (mode & X_OK and 'command' or 'file'), file)
-
+ return path
if __name__ == '__main__':
import doctest