summaryrefslogtreecommitdiffstats
path: root/ipalib/parameters.py
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2015-09-21 13:29:18 +0200
committerTomas Babej <tbabej@redhat.com>2015-10-13 14:16:32 +0200
commite0eff8b8346f62b667f5e5b923fcaccd1beb12b7 (patch)
treed38061aed60f791f12f0fa3e06cc4b2d6bb50aa5 /ipalib/parameters.py
parentc44dd40b26bd9803d042cc75b133b739838a9022 (diff)
downloadfreeipa-e0eff8b8346f62b667f5e5b923fcaccd1beb12b7.tar.gz
freeipa-e0eff8b8346f62b667f5e5b923fcaccd1beb12b7.tar.xz
freeipa-e0eff8b8346f62b667f5e5b923fcaccd1beb12b7.zip
ipalib.parameters: Handle 0-prefixed octal format of ints
In Python 2, numbers prfixed with '0' are parsed as octal, e.g. '020' -> 16. In Python 3, the prefix is '0o'. Handle the old syntax for IPA's parameter conversion to keep backwards compatibility. Reviewed-By: Tomas Babej <tbabej@redhat.com>
Diffstat (limited to 'ipalib/parameters.py')
-rw-r--r--ipalib/parameters.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index c74686271..8d27d900a 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -1072,6 +1072,9 @@ class Int(Number):
if type(value) is unicode:
if u'.' in value:
return int(float(value))
+ if six.PY3 and re.match('0[0-9]+', value):
+ # 0-prefixed octal format
+ return int(value, 8)
return int(value, 0)
raise ValueError(value)