oslo.i18n/oslo_i18n/tests/utils.py
Doug Hellmann 6d8da4cdb9 set default python to python3
Set the default python to python3 except for the py27 environment. We
have to set that explicitly to override the new default.

As part of updating the pep8 job to run python 3 we need to remove the
use of the python 2 builtin unicode(). We can use six.text_type() to
produce the same result until we drop python 2 support.

Change-Id: I43c03aeb73bb8a246115400bcbd9a0a68708abd9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-04-16 13:04:03 -04:00

43 lines
1.1 KiB
Python

# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import six
class SomeObject(object):
def __init__(self, message):
self.message = message
def __unicode__(self):
return self.message
# alias for Python 3
__str__ = __unicode__
class NoDeepCopyObject(object):
def __init__(self, value):
self.value = value
if six.PY3:
def __str__(self):
return str(self.value)
else:
def __unicode__(self):
return six.text_type(self.value)
def __deepcopy__(self, memo):
raise TypeError('Deep Copy not supported')