Support for python 3
Support using python 3 interpreter. Fix imports and metaclass definition to be python 2/3 compatible. Update min requirements to use GitPython that is python 3 compatible and works with openstack global-requirements. Use '//' for integer division and used brackets around tuple iterations. Change-Id: I51617a433987d1549e0686c1feda01f971b13fa0
This commit is contained in:
@@ -28,9 +28,11 @@ from functools import wraps
|
|||||||
import logging
|
import logging
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
|
|
||||||
# Add new NOTICE logging level
|
# Add new NOTICE logging level
|
||||||
NOTICE = (logging.INFO + logging.WARN) / 2
|
NOTICE = (logging.INFO + logging.WARN) // 2
|
||||||
logging.NOTICE = NOTICE
|
logging.NOTICE = NOTICE
|
||||||
logging.addLevelName(NOTICE, "NOTICE")
|
logging.addLevelName(NOTICE, "NOTICE")
|
||||||
|
|
||||||
@@ -51,7 +53,7 @@ def get_logger(name=None):
|
|||||||
Wrapper for standard logging.getLogger that ensures all loggers in this
|
Wrapper for standard logging.getLogger that ensures all loggers in this
|
||||||
application will have their name prefixed with 'git-upstream'.
|
application will have their name prefixed with 'git-upstream'.
|
||||||
"""
|
"""
|
||||||
name = ".".join([x for x in "git-upstream", name if x])
|
name = ".".join([x for x in ("git-upstream", name) if x])
|
||||||
|
|
||||||
logger = logging.getLogger(name)
|
logger = logging.getLogger(name)
|
||||||
return logger
|
return logger
|
||||||
@@ -138,8 +140,9 @@ class DedentLoggerMeta(type):
|
|||||||
return dedentlog
|
return dedentlog
|
||||||
|
|
||||||
|
|
||||||
|
@six.add_metaclass(DedentLoggerMeta)
|
||||||
class DedentLogger(logging.Logger):
|
class DedentLogger(logging.Logger):
|
||||||
__metaclass__ = DedentLoggerMeta
|
pass
|
||||||
|
|
||||||
|
|
||||||
# override default logger class for everything that imports this module
|
# override default logger class for everything that imports this module
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ def setup_console_logging(options):
|
|||||||
# determine maximum logging requested for file and console provided they
|
# determine maximum logging requested for file and console provided they
|
||||||
# are not disabled, and including stderr which is fixed at ERROR
|
# are not disabled, and including stderr which is fixed at ERROR
|
||||||
main_log_level = min([value
|
main_log_level = min([value
|
||||||
for value in options.log_level, console_log_level
|
for value in (options.log_level, console_log_level)
|
||||||
if value != logging.NOTSET
|
if value != logging.NOTSET
|
||||||
] + [logging.ERROR])
|
] + [logging.ERROR])
|
||||||
logger = log.get_logger()
|
logger = log.get_logger()
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ class GitRepo(fixtures.Fixture):
|
|||||||
break
|
break
|
||||||
tmpfile.close()
|
tmpfile.close()
|
||||||
os.remove(tmpfile.name)
|
os.remove(tmpfile.name)
|
||||||
tmpfile.write(contents)
|
tmpfile.write(contents.encode('utf-8'))
|
||||||
tmpfile.close()
|
tmpfile.close()
|
||||||
return tmpfile.name
|
return tmpfile.name
|
||||||
|
|
||||||
@@ -362,4 +362,4 @@ class BaseTestCase(testtools.TestCase):
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
self.addDetail('pre-script-output',
|
self.addDetail('pre-script-output',
|
||||||
text_content(output))
|
text_content(output.decode('utf-8')))
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ from git_upstream.tests.base import BaseTestCase
|
|||||||
from git_upstream.tests.base import get_scenarios
|
from git_upstream.tests.base import get_scenarios
|
||||||
|
|
||||||
import_command = __import__("git_upstream.commands.import", globals(),
|
import_command = __import__("git_upstream.commands.import", globals(),
|
||||||
locals(), ['LocateChangesWalk'], -1)
|
locals(), ['LocateChangesWalk'])
|
||||||
LocateChangesWalk = import_command.LocateChangesWalk
|
LocateChangesWalk = import_command.LocateChangesWalk
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
|
|
||||||
"""Tests for the 'import' module"""
|
"""Tests for the 'import' module"""
|
||||||
|
|
||||||
from base import BaseTestCase
|
from git_upstream.tests.base import BaseTestCase
|
||||||
|
|
||||||
import_command = __import__("git_upstream.commands.import", globals(),
|
import_command = __import__("git_upstream.commands.import", globals(),
|
||||||
locals(), ['ImportUpstream'], -1)
|
locals(), ['ImportUpstream'])
|
||||||
ImportUpstream = import_command.ImportUpstream
|
ImportUpstream = import_command.ImportUpstream
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
pbr>=0.5.21,<1.0
|
|
||||||
|
|
||||||
argcomplete
|
argcomplete
|
||||||
GitPython>=0.3.2.RC1,!=0.3.2
|
# GitPython 1.0.1 required by openstack global-requirements
|
||||||
|
# python>=3 should work with >=0.3.4
|
||||||
|
# python<3 should work with >=0.3.2.RC1,!=0.3.2
|
||||||
|
GitPython>=1.0.1 # BSD License (3 clause)
|
||||||
|
pbr>=0.5.21,<1.0
|
||||||
|
six>=1.9.0 # MIT
|
||||||
|
|||||||
Reference in New Issue
Block a user