python 3.4 support
This commit is contained in:
@ -21,6 +21,7 @@
|
||||
import re
|
||||
from types import FunctionType
|
||||
import warnings
|
||||
import sys
|
||||
|
||||
from ..i18n import _
|
||||
from ..setting import log, undefined
|
||||
@ -344,8 +345,12 @@ class BaseOption(Base):
|
||||
return self._properties
|
||||
|
||||
def _impl_valid_unicode(self, value):
|
||||
if not isinstance(value, unicode) and not isinstance(value, str):
|
||||
return ValueError(_('invalid unicode or string'))
|
||||
if sys.version_info[0] >= 3:
|
||||
if not isinstance(value, str):
|
||||
return ValueError(_('invalid string'))
|
||||
else:
|
||||
if not isinstance(value, unicode) and not isinstance(value, str):
|
||||
return ValueError(_('invalid unicode or string'))
|
||||
|
||||
|
||||
class OnlyOption(BaseOption):
|
||||
@ -676,7 +681,7 @@ class Option(OnlyOption):
|
||||
warnings_only, transitive)
|
||||
if err:
|
||||
if warnings_only:
|
||||
return ValueWarning(err.message, option)
|
||||
return ValueWarning(str(err), option)
|
||||
else:
|
||||
return err
|
||||
|
||||
|
@ -278,7 +278,10 @@ class PortOption(Option):
|
||||
|
||||
def _validate(self, value, context=undefined, current_opt=undefined):
|
||||
if isinstance(value, int):
|
||||
value = unicode(value)
|
||||
if sys.version_info[0] >= 3: # pragma: optional cover
|
||||
value = str(value)
|
||||
else:
|
||||
value = unicode(value)
|
||||
err = self._impl_valid_unicode(value)
|
||||
if err:
|
||||
return err
|
||||
|
@ -35,6 +35,11 @@ StorageOptionDescription = get_storages_option('optiondescription')
|
||||
|
||||
name_regexp = re.compile(r'^[a-zA-Z\d\-_]*$')
|
||||
|
||||
import sys
|
||||
if sys.version_info[0] >= 3: # pragma: optional cover
|
||||
xrange = range
|
||||
del(sys)
|
||||
|
||||
|
||||
class OptionDescription(BaseOption, StorageOptionDescription):
|
||||
"""Config's schema (organisation, group) and container of Options
|
||||
|
Reference in New Issue
Block a user