Skip to content

Commit 8b22373

Browse files
authored
Changes to use f-strings instead of format and clean up (#1264)
1 parent d48e6e6 commit 8b22373

8 files changed

Lines changed: 36 additions & 235 deletions

File tree

l2tdevtools/download_helper.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from l2tdevtools.download_helpers import github
44
from l2tdevtools.download_helpers import pypi
5-
from l2tdevtools.download_helpers import sourceforge
65

76

87
class DownloadHelperFactory:
@@ -39,10 +38,6 @@ def NewDownloadHelper(cls, project_definition):
3938
return pypi.PyPIDownloadHelper(
4039
download_url, source_name=project_definition.pypi_source_name)
4140

42-
if (download_url.startswith('http://sourceforge.net/projects/') and
43-
download_url.endswith('/files')):
44-
return sourceforge.SourceForgeDownloadHelper(download_url)
45-
4641
if (download_url.startswith('http://github.com/') and
4742
download_url.endswith('/releases')):
4843
release_is_archive = project_definition.github_release_is_archive

l2tdevtools/download_helpers/github.py

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,9 @@ def GetLatestVersion(self, project_name, version_definition):
9292

9393
latest_version = version_definition.GetLatestVersion()
9494

95-
download_url = 'https://github.com/{0:s}/{1:s}/releases'.format(
96-
self._organization, self._repository)
95+
download_url = (
96+
f'https://github.com/{self._organization:s}/{self._repository:s}'
97+
f'/releases')
9798

9899
page_content = self.DownloadPageContent(download_url)
99100
if not page_content:
@@ -102,8 +103,8 @@ def GetLatestVersion(self, project_name, version_definition):
102103
# The format of the project download URL is:
103104
# <a href="/{organization}/{repository}/releases/tag/{git tag}"
104105
expression_string = (
105-
'<a href="/{0:s}/{1:s}/releases/tag/([^"]*)"[^>]*>[^<]*</a>').format(
106-
self._organization, self._repository)
106+
f'<a href="/{self._organization:s}/{self._repository:s}/releases/tag'
107+
f'/([^"]*)"[^>]*>[^<]*</a>')
107108
matches = re.findall(expression_string, page_content, flags=re.IGNORECASE)
108109

109110
if not matches:
@@ -124,8 +125,9 @@ def GetDownloadURL(self, project_name, project_version):
124125
str: download URL of the project or None if not available.
125126
"""
126127
# TODO: add support for URL arguments '?after=release-2.2.0'
127-
download_url = 'https://github.com/{0:s}/{1:s}/releases'.format(
128-
self._organization, self._repository)
128+
download_url = (
129+
f'https://github.com/{self._organization:s}/{self._repository:s}'
130+
f'/releases')
129131

130132
page_content = self.DownloadPageContent(download_url)
131133
if not page_content:
@@ -134,10 +136,9 @@ def GetDownloadURL(self, project_name, project_version):
134136
# The format of the project download URL is:
135137
# <a href="/{organization}/{repository}/releases/tag/{git tag}"
136138
expression_string = (
137-
'<a href="/{0:s}/{1:s}/releases/tag/{2:s}(.*{3!s}[^"]*)"[^>]*>([^<]*)'
138-
'</a>').format(
139-
self._organization, self._repository, self._release_tag_prefix,
140-
project_version)
139+
f'<a href="/{self._organization:s}/{self._repository:s}/releases/tag'
140+
f'/{self._release_tag_prefix:s}(.*{project_version!s}[^"]*)"[^>]*>'
141+
f'([^<]*)</a>')
141142

142143
matches = re.findall(expression_string, page_content, flags=re.IGNORECASE)
143144

@@ -147,20 +148,18 @@ def GetDownloadURL(self, project_name, project_version):
147148

148149
if self._release_is_archive:
149150
download_url = (
150-
'https://github.com/{0:s}/{1:s}/archive/refs/tags/'
151-
'{2!s}.tar.gz').format(
152-
self._organization, self._repository, version)
151+
f'https://github.com/{self._organization:s}/{self._repository:s}'
152+
f'/archive/refs/tags/{version!s}.tar.gz')
153153
else:
154154
if self._release_prefix:
155-
release = '{0:s}{1:s}.tar.gz'.format(self._release_prefix, version)
155+
release = f'{self._release_prefix:s}{version:s}'
156156
else:
157-
release = '{0:s}.tar.gz'.format(matches[0][1].replace(' ', '-'))
157+
release = matches[0][1].replace(" ", "-")
158158

159159
download_url = (
160-
'https://github.com/{0:s}/{1:s}/releases/download/{2:s}{3!s}/'
161-
'{4:s}').format(
162-
self._organization, self._repository, self._release_tag_prefix,
163-
version, release)
160+
f'https://github.com/{self._organization:s}/{self._repository:s}'
161+
f'/releases/download/{self._release_tag_prefix:s}{version!s}'
162+
f'/{release:s}.tar.gz')
164163

165164
return download_url
166165

@@ -170,5 +169,4 @@ def GetProjectIdentifier(self):
170169
Returns:
171170
str: project identifier.
172171
"""
173-
return 'com.github.{0:s}.{1:s}'.format(
174-
self._organization, self._repository)
172+
return f'com.github.{self._organization:s}.{self._repository:s}'

l2tdevtools/download_helpers/interface.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ def DownloadFile(self, download_url):
3737
_, _, filename = download_url.rpartition('/')
3838

3939
if not os.path.exists(filename):
40-
logging.info('Downloading: {0:s}'.format(download_url))
40+
logging.info(f'Downloading: {download_url:s}')
4141

4242
try:
4343
with urllib_request.urlopen(download_url) as url_object:
4444
if url_object.code != 200:
4545
logging.warning(
46-
'Unable to download URL: {0:s} with status code: {1:d}'.format(
47-
download_url, url_object.code))
46+
f'Unable to download URL: {download_url:s} with status code: '
47+
f'{url_object.code:d}')
4848
return None
4949

5050
page_content = url_object.read()
@@ -53,8 +53,8 @@ def DownloadFile(self, download_url):
5353

5454
except (http.client.InvalidURL, urllib_error.URLError) as exception:
5555
logging.warning(
56-
'Unable to download URL: {0:s} with error: {1!s}'.format(
57-
download_url, exception))
56+
f'Unable to download URL: {download_url:s} with error: '
57+
f'{exception!s}')
5858
return None
5959

6060
return filename
@@ -83,8 +83,8 @@ def DownloadPageContent(self, download_url, encoding='utf-8'):
8383

8484
except urllib_error.URLError as exception:
8585
logging.warning(
86-
'Unable to download URL: {0:s} with error: {1!s}'.format(
87-
download_url, exception))
86+
f'Unable to download URL: {download_url:s} with error: '
87+
f'{exception!s}')
8888
return None
8989

9090
if encoding and isinstance(page_content, bytes):

l2tdevtools/download_helpers/pypi.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ def __init__(self, download_url, source_name=None):
2525
url_segments = download_url.split('/')
2626
if (len(url_segments) < 5 or url_segments[2] != 'pypi.org' or
2727
url_segments[3] != 'project'):
28-
raise ValueError('Unsupported download URL: {0:s}.'.format(
29-
download_url))
28+
raise ValueError(f'Unsupported download URL: {download_url:s}.')
3029

3130
super().__init__(download_url)
3231
self._project_name = url_segments[4]
@@ -98,7 +97,7 @@ def GetLatestVersion(self, project_name, version_definition):
9897

9998
latest_version = version_definition.GetLatestVersion()
10099

101-
download_url = 'https://pypi.org/pypi/{0:s}/json'.format(self._project_name)
100+
download_url = f'https://pypi.org/pypi/{self._project_name:s}/json'
102101

103102
page_content = self.DownloadPageContent(download_url)
104103
if not page_content:
@@ -128,7 +127,7 @@ def GetDownloadURL(self, project_name, project_version):
128127
Returns:
129128
str: download URL of the project or None if not available.
130129
"""
131-
download_url = 'https://pypi.org/pypi/{0:s}/json'.format(self._project_name)
130+
download_url = f'https://pypi.org/pypi/{self._project_name:s}/json'
132131

133132
page_content = self.DownloadPageContent(download_url)
134133
if not page_content:
@@ -138,9 +137,9 @@ def GetDownloadURL(self, project_name, project_version):
138137
# https://files.pythonhosted.org/packages/[0-9a-f]*/[0-9a-f]*/[0-9a-f]*/
139138
# {project name}-{version}.{extension}
140139
expression_string = (
141-
'(https://files.pythonhosted.org/packages/[0-9a-f]*/[0-9a-f]*/'
142-
'[0-9a-f]*/{0:s}-{1!s}[.](tar[.]bz2|tar[.]gz|zip))').format(
143-
self._source_name, project_version)
140+
f'(https://files.pythonhosted.org/packages/[0-9a-f]*/[0-9a-f]*/'
141+
f'[0-9a-f]*/{self._source_name:s}-{project_version!s}[.]'
142+
f'(tar[.]bz2|tar[.]gz|zip))')
144143
matches = re.findall(expression_string, page_content, flags=re.IGNORECASE)
145144

146145
if not matches:
@@ -154,4 +153,4 @@ def GetProjectIdentifier(self):
154153
Returns:
155154
str: project identifier.
156155
"""
157-
return 'org.pypi.{0:s}'.format(self._project_name)
156+
return f'org.pypi.{self._project_name:s}'

l2tdevtools/download_helpers/sourceforge.py

Lines changed: 0 additions & 112 deletions
This file was deleted.

l2tdevtools/download_helpers/zlib.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ def GetLatestVersion(self, project_name, version_definition):
4545
# The format of the project download URL is:
4646
# http://zlib.net/{project name}-{version}.tar.gz
4747
expression_string = (
48-
'<A HREF="{0:s}-([0-9]+.[0-9]+.[0-9]+).tar.gz"').format(
49-
self._project_name)
48+
f'<A HREF="{self._project_name:s}-([0-9]+.[0-9]+.[0-9]+).tar.gz"')
5049
matches = re.findall(expression_string, page_content, flags=re.IGNORECASE)
5150

5251
if not matches:
@@ -67,13 +66,12 @@ def GetDownloadURL(self, project_name, project_version):
6766
"""
6867
# The format of the project download URL is:
6968
# http://zlib.net/{project name}-{version}.tar.gz
70-
return 'http://zlib.net/{0:s}-{1:s}.tar.gz'.format(
71-
self._project_name, project_version)
69+
return f'http://zlib.net/{self._project_name:s}-{project_version:s}.tar.gz'
7270

7371
def GetProjectIdentifier(self):
7472
"""Retrieves the project identifier for a given project name.
7573
7674
Returns:
7775
str: project identifier.
7876
"""
79-
return 'net.zlib.{0:s}'.format(self._project_name)
77+
return f'net.zlib.{self._project_name:s}'

tests/download_helpers/sourceforge.py

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)