Merge "Bump pyupgrade target to 3.10+"

This commit is contained in:
Zuul
2025-10-07 13:55:10 +00:00
committed by Gerrit Code Review
13 changed files with 30 additions and 30 deletions

View File

@@ -27,4 +27,4 @@ repos:
rev: v3.20.0
hooks:
- id: pyupgrade
args: [--py3-only]
args: [--py310-plus]

View File

@@ -24,7 +24,7 @@ def gen_ref(ver, title, names):
refdir = os.path.join(BASE_DIR, "ref")
pkg = "heatclient"
if ver:
pkg = "{}.{}".format(pkg, ver)
pkg = f"{pkg}.{ver}"
refdir = os.path.join(refdir, ver)
if not os.path.exists(refdir):
os.makedirs(refdir)

View File

@@ -282,7 +282,7 @@ class CrudManager(BaseManager):
url = '/'.join([url, self.collection_key])
# do we have a specific entity?
entity_id = kwargs.get('{}_id'.format(self.key))
entity_id = kwargs.get(f'{self.key}_id')
if entity_id is not None:
url = '/'.join([url, entity_id])
@@ -322,7 +322,7 @@ class CrudManager(BaseManager):
:param base_url: if provided, the generated URL will be appended to it
"""
kwargs = self._filter_kwargs(kwargs)
query = '?{}'.format(parse.urlencode(kwargs)) if kwargs else ''
query = f'?{parse.urlencode(kwargs)}' if kwargs else ''
return self._list(
'{base_url}{query}'.format(
@@ -343,7 +343,7 @@ class CrudManager(BaseManager):
def update(self, **kwargs):
kwargs = self._filter_kwargs(kwargs)
params = kwargs.copy()
params.pop('{}_id'.format(self.key))
params.pop(f'{self.key}_id')
return self._patch(
self.build_url(**kwargs),
@@ -362,7 +362,7 @@ class CrudManager(BaseManager):
:param base_url: if provided, the generated URL will be appended to it
"""
kwargs = self._filter_kwargs(kwargs)
query = '?{}'.format(parse.urlencode(kwargs)) if kwargs else ''
query = f'?{parse.urlencode(kwargs)}' if kwargs else ''
rl = self._list(
'{base_url}{query}'.format(
@@ -409,7 +409,7 @@ class Extension(HookableMixin):
pass
def __repr__(self):
return "<Extension '{}'>".format(self.name)
return f"<Extension '{self.name}'>"
class Resource:
@@ -436,9 +436,9 @@ class Resource:
reprkeys = sorted(k
for k in self.__dict__
if k[0] != '_' and k != 'manager')
info = ", ".join("{}={}".format(k, getattr(self, k)) for k in reprkeys)
info = ", ".join(f"{k}={getattr(self, k)}" for k in reprkeys)
class_name = reflection.get_class_name(self, fully_qualified=False)
return "<{} {}>".format(class_name, info)
return f"<{class_name} {info}>"
@property
def human_id(self):

View File

@@ -105,12 +105,12 @@ def create_temp_url(swift_client, name, timeout, container=None):
key = swift_client.head_account()[key_header]
project_path = swift_client.url.split('/')[-1]
path = '/v1/{}/{}/{}'.format(project_path, container, object_name)
path = f'/v1/{project_path}/{container}/{object_name}'
timeout_secs = timeout * 60
tempurl = swiftclient_utils.generate_temp_url(path, timeout_secs, key,
'PUT')
sw_url = urlparse.urlparse(swift_client.url)
put_url = '{}://{}{}'.format(sw_url.scheme, sw_url.netloc, tempurl)
put_url = f'{sw_url.scheme}://{sw_url.netloc}{tempurl}'
swift_client.put_object(container, object_name, '')
return put_url

View File

@@ -261,4 +261,4 @@ def wait_for_events(ws, stack_name, out=None):
if stack_status in ('COMPLETE', 'FAILED'):
msg = msg_template % dict(
name=stack_name, status=event.resource_status)
return '{}_{}'.format(event.resource_action, stack_status), msg
return f'{event.resource_action}_{stack_status}', msg

View File

@@ -90,6 +90,6 @@ def print_software_deployment_output(data, name, out=sys.stdout, long=False):
truncate=not long,
truncate_prefix='...',
truncate_postfix='(truncated, view all with --long)')
out.write(' {}: |\n{}\n'.format(name, output))
out.write(f' {name}: |\n{output}\n')
else:
out.write(' {}: {}\n'.format(name, data.get(name)))
out.write(f' {name}: {data.get(name)}\n')

View File

@@ -146,7 +146,7 @@ class HTTPClient:
def log_http_response(resp):
status = (resp.raw.version / 10.0, resp.status_code, resp.reason)
dump = ['\nHTTP/%.1f %s %s' % status]
dump.extend(['{}: {}'.format(k, v) for k, v in resp.headers.items()])
dump.extend([f'{k}: {v}' for k, v in resp.headers.items()])
dump.append('')
if resp.content:
content = resp.content
@@ -216,7 +216,7 @@ class HTTPClient:
message = (_("Error finding address for %(url)s: %(e)s") %
{'url': self.endpoint_url + url, 'e': e})
raise exc.InvalidEndpoint(message=message)
except (OSError, socket.timeout) as e:
except (OSError, TimeoutError) as e:
endpoint = self.endpoint
message = (_("Error communicating with %(endpoint)s %(e)s") %
{'endpoint': endpoint, 'e': e})

View File

@@ -34,7 +34,7 @@ class ResourceDotInfo:
if not prefix:
prefix = 'r'
hash_object = hashlib.sha256(url.encode('utf-8'))
return '{}_{}'.format(prefix, hash_object.hexdigest()[:20])
return f'{prefix}_{hash_object.hexdigest()[:20]}'
class ResourceDotFormatter(base.ListFormatter):

View File

@@ -592,7 +592,7 @@ class HeatShell:
class HelpFormatter(argparse.HelpFormatter):
def start_section(self, heading):
# Title-case the headings
heading = '{}{}'.format(heading[0].upper(), heading[1:])
heading = f'{heading[0].upper()}{heading[1:]}'
super().start_section(heading)

View File

@@ -192,7 +192,7 @@ class TestCase(testtools.TestCase):
"logical_resource_id": "myDeployment",
"physical_resource_id": "bce15ec4-8919-4a02-8a90-680960fb3731",
"resource_name": rn,
"resource_status": "{}_{}".format(action, final_state),
"resource_status": f"{action}_{final_state}",
"resource_status_reason": "state changed"}]}
if resource_name is None:
@@ -227,7 +227,7 @@ class TestCase(testtools.TestCase):
"logical_resource_id": "aResource",
"physical_resource_id": 'foo3',
"resource_name": stack_name,
"resource_status": "{}_{}".format(action, final_state),
"resource_status": f"{action}_{final_state}",
"resource_status_reason": "state changed"})
return resp_dict
@@ -320,7 +320,7 @@ class ShellParamValidationTest(TestCase):
if self.with_tmpl:
template_file = os.path.join(TEST_VAR_DIR, 'minimal.template')
cmd = '{} --template-file={} '.format(self.command, template_file)
cmd = f'{self.command} --template-file={template_file} '
self.shell_error(cmd, self.err, exception=exc.CommandError)
@@ -2731,7 +2731,7 @@ class ShellTestEventsNested(ShellBase):
stack_id = 'teststack/1'
error = self.assertRaises(
exc.CommandError, self.shell,
'event-list {} --nested-depth Z'.format(stack_id))
f'event-list {stack_id} --nested-depth Z')
self.assertIn('--nested-depth invalid value Z', str(error))
def test_shell_nested_depth_zero(self):
@@ -2955,7 +2955,7 @@ class ShellTestHookFunctions(ShellBase):
resp_dict = {"stack": {
"id": stack_id.split("/")[1],
"stack_name": stack_id.split("/")[0],
"stack_status": '{}_{}'.format(action, status),
"stack_status": f'{action}_{status}',
"creation_time": "2014-01-06T16:14:00Z",
}}
self.mock_request_get('/stacks/teststack/1', resp_dict)
@@ -3113,7 +3113,7 @@ class ShellTestResources(ShellBase):
stack_id = 'teststack/1'
self.mock_request_get('/stacks/%s/resources' % stack_id, resp_dict)
resource_list_text = self.shell('resource-list {}'.format(stack_id))
resource_list_text = self.shell(f'resource-list {stack_id}')
required = [
'physical_resource_id',
@@ -3147,7 +3147,7 @@ class ShellTestResources(ShellBase):
stack_id = 'teststack/1'
self.mock_request_get('/stacks/%s/resources' % stack_id, resp_dict)
resource_list_text = self.shell('resource-list {}'.format(stack_id))
resource_list_text = self.shell(f'resource-list {stack_id}')
self.assertEqual('''\
+---------------+----------------------+---------------+-----------------+\
@@ -3177,7 +3177,7 @@ class ShellTestResources(ShellBase):
self.mock_request_get('/stacks/{}/resources?{}'.format(
stack_id, query_args), resp_dict)
shell_cmd = 'resource-list {} {}'.format(stack_id, cmd_args)
shell_cmd = f'resource-list {stack_id} {cmd_args}'
resource_list_text = self.shell(shell_cmd)
@@ -3297,7 +3297,7 @@ class ShellTestResources(ShellBase):
)
text = self.shell(
'resource-signal {} {}'.format(stack_id, resource_name))
f'resource-signal {stack_id} {resource_name}')
self.assertEqual("", text)
def test_resource_signal_no_json(self):

View File

@@ -54,7 +54,7 @@ class StackStatusActionTest(testtools.TestCase):
])
def test_status_action(self):
stack_status = '{}_{}'.format(self.action, self.status)
stack_status = f'{self.action}_{self.status}'
stack = mock_stack(None, 'stack_1', 'abcd1234')
stack.stack_status = stack_status
self.assertEqual(self.action, stack.action)

View File

@@ -716,7 +716,7 @@ class TestGetTemplateContents(testtools.TestCase):
def check_non_utf8_content(self, filename, content):
base_url = 'file:///tmp'
url = '{}/{}'.format(base_url, filename)
url = f'{base_url}/{filename}'
template = {'resources':
{'one_init':
{'type': 'OS::Heat::CloudConfig',

View File

@@ -91,7 +91,7 @@ class Stack(base.Resource):
@property
def identifier(self):
return '{}/{}'.format(self.stack_name, self.id)
return f'{self.stack_name}/{self.id}'
class StackChildManager(base.BaseManager):