diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d174849..31d9d64 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -23,3 +23,8 @@ repos:
hooks:
- id: hacking
additional_dependencies: []
+ - repo: https://github.com/asottile/pyupgrade
+ rev: v3.18.0
+ hooks:
+ - id: pyupgrade
+ args: [--py3-only]
diff --git a/os_api_ref/__init__.py b/os_api_ref/__init__.py
index af45243..0a176fe 100644
--- a/os_api_ref/__init__.py
+++ b/os_api_ref/__init__.py
@@ -86,7 +86,7 @@ def ordered_load(
# numbers) as strings. So that microversion specification of 2.20
# and 2.2 don't get confused.
OrderedLoader.add_constructor(
- u'tag:yaml.org,2002:float',
+ 'tag:yaml.org,2002:float',
yaml.constructor.SafeConstructor.construct_yaml_str)
return yaml.load(stream, OrderedLoader)
@@ -198,7 +198,7 @@ class RestMethodDirective(rst.Directive):
# they are still unlikely to occurr and it is way shorter
# than stronger SHAs.
node_hash = hashlib.sha1(str(node).encode('utf-8')).hexdigest()
- temp_target = "%s-%s-selector" % (node['target'], node_hash)
+ temp_target = "{}-{}-selector".format(node['target'], node_hash)
target = nodes.target(ids=[temp_target])
self.state.add_target(temp_target, '', target, lineno)
section += node
@@ -222,9 +222,9 @@ class RestParametersDirective(Table):
lookup = {}
try:
- with open(fpath, 'r') as stream:
+ with open(fpath) as stream:
lookup = ordered_load(stream)
- except IOError:
+ except OSError:
LOG.warning("Parameters file not found, %s", fpath,
location=(self.env.docname, None))
return
@@ -595,10 +595,10 @@ Microversions
def build_mv_item(major, micro, releases):
version = "%d.%d" % (major, micro)
if version in releases:
- return '' % (
+ return ''.format(
version, version, releases[version].capitalize())
else:
- return '' % (version, version)
+ return ''.format(version, version)
def resolve_rest_references(app, doctree):
diff --git a/os_api_ref/http_codes.py b/os_api_ref/http_codes.py
index 1638b6f..046e43c 100644
--- a/os_api_ref/http_codes.py
+++ b/os_api_ref/http_codes.py
@@ -41,7 +41,7 @@ class HTTPResponseCodeDirective(Table):
def __init__(self, *args, **kwargs):
self.CODES.update(responses)
- super(HTTPResponseCodeDirective, self).__init__(*args, **kwargs)
+ super().__init__(*args, **kwargs)
def _load_status_file(self, fpath):
global HTTP_YAML_CACHE
@@ -50,9 +50,9 @@ class HTTPResponseCodeDirective(Table):
# LOG.info("Fpath: %s" % fpath)
try:
- with open(fpath, 'r') as stream:
+ with open(fpath) as stream:
lookup = yaml.safe_load(stream)
- except IOError:
+ except OSError:
LOG.warning(
"Parameters file %s not found" % fpath,
(self.env.docname, None))
@@ -92,7 +92,8 @@ class HTTPResponseCodeDirective(Table):
if status_type not in self.status_types:
error = self.state_machine.reporter.error(
- 'Type %s is not one of %s' % (status_type, self.status_types),
+ 'Type {} is not one of {}'.format(
+ status_type, self.status_types),
nodes.literal_block(self.block_text, self.block_text),
line=self.lineno)
return [error]
@@ -142,7 +143,7 @@ class HTTPResponseCodeDirective(Table):
)
except KeyError:
LOG.warning(
- "Could not find %s for code %s" % (reason, code))
+ "Could not find {} for code {}".format(reason, code))
new_content.append(
(code, self.status_defs[code]['default']))
diff --git a/os_api_ref/tests/base.py b/os_api_ref/tests/base.py
index cd2bcdb..aa74b53 100644
--- a/os_api_ref/tests/base.py
+++ b/os_api_ref/tests/base.py
@@ -62,7 +62,7 @@ class OutputStreamCapture(fixtures.Fixture):
tests.
"""
def setUp(self):
- super(OutputStreamCapture, self).setUp()
+ super().setUp()
if os.environ.get('OS_STDOUT_CAPTURE') in _TRUE_VALUES:
self.out = self.useFixture(fixtures.StringStream('stdout'))
self.useFixture(
@@ -93,7 +93,7 @@ class Timeout(fixtures.Fixture):
"""
def __init__(self, timeout, scaling=1):
- super(Timeout, self).__init__()
+ super().__init__()
try:
self.test_timeout = int(timeout)
except ValueError:
@@ -105,7 +105,7 @@ class Timeout(fixtures.Fixture):
raise ValueError('scaling value must be >= 1')
def setUp(self):
- super(Timeout, self).setUp()
+ super().setUp()
if self.test_timeout > 0:
self.useFixture(fixtures.Timeout(self.test_timeout, gentle=True))
@@ -116,7 +116,7 @@ class TestCase(testtools.TestCase):
def setUp(self):
"""Run before each test method to initialize test environment."""
- super(TestCase, self).setUp()
+ super().setUp()
self.useFixture(Timeout(
os.environ.get('OS_TEST_TIMEOUT', 0)))
self.useFixture(OutputStreamCapture())
diff --git a/os_api_ref/tests/test_basic_example.py b/os_api_ref/tests/test_basic_example.py
index ba78658..dd42a9d 100644
--- a/os_api_ref/tests/test_basic_example.py
+++ b/os_api_ref/tests/test_basic_example.py
@@ -31,7 +31,7 @@ class TestBasicExample(base.TestCase):
@base.with_app(buildername='html', srcdir=base.example_dir('basic'))
def setUp(self, app, status, warning):
- super(TestBasicExample, self).setUp()
+ super().setUp()
self.app = app
self.status = status
self.warning = warning
diff --git a/os_api_ref/tests/test_microversions.py b/os_api_ref/tests/test_microversions.py
index d6794a4..6575cd5 100644
--- a/os_api_ref/tests/test_microversions.py
+++ b/os_api_ref/tests/test_microversions.py
@@ -32,7 +32,7 @@ class TestMicroversions(base.TestCase):
@base.with_app(buildername='html',
srcdir=base.example_dir('microversions'))
def setUp(self, app, status, warning):
- super(TestMicroversions, self).setUp()
+ super().setUp()
self.app = app
self.app.build()
self.status = status.getvalue()
diff --git a/os_api_ref/tests/test_warnings.py b/os_api_ref/tests/test_warnings.py
index a112986..d98a554 100644
--- a/os_api_ref/tests/test_warnings.py
+++ b/os_api_ref/tests/test_warnings.py
@@ -33,7 +33,7 @@ class TestWarnings(base.TestCase):
@base.with_app(buildername='html', srcdir=base.example_dir('warnings'))
def setUp(self, app, status, warning):
- super(TestWarnings, self).setUp()
+ super().setUp()
self.app = app
self.app.build()
self.status = status.getvalue()