Skip to content

Commit 898a55c

Browse files
committed
refactor(backend): use f-strings more
1 parent cce547c commit 898a55c

File tree

3 files changed

+33
-33
lines changed

3 files changed

+33
-33
lines changed

server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def cgi_addtext() -> MethodResponse:
133133
forms: bottle.FormsDict = bottle.request.forms
134134
text_title = forms.title # pylint: disable=no-member
135135
LOGGER.info('Share text begin: %s', text_title)
136-
original_filename = text_title + '.txt'
136+
original_filename = f'{text_title}.txt'
137137
body = bytearray(forms.body, encoding='utf-8') # pylint: disable=no-member
138138

139139
with STORAGE.open_file_writer(original_filename) as writer:
@@ -253,7 +253,7 @@ def server_storage(url_filename: str) -> RouteResponse:
253253
# (and not text/html for example)
254254

255255
# Missing extension is treated as .txt extension
256-
mime_filename = info.display_filename if '.' in info.display_filename else info.display_filename + '.txt'
256+
mime_filename = info.display_filename if '.' in info.display_filename else f'{info.display_filename}.txt'
257257

258258
mimetype, _ = mimetypes.guess_type(mime_filename)
259259
mimetype = str(mimetype)

tests/test_server.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ def run_child_server(server_name: str, host: str, port: int) -> RunningServer:
8282
try:
8383
started_ok = wait_net_service(host, port, 5)
8484
if started_ok:
85-
log('Server ' + server_name + ' started OK')
85+
log(f'Server {server_name} started OK')
8686
else:
87-
log('Server ' + server_name + ' failed to start')
87+
log(f'Server {server_name} failed to start')
8888
raise RuntimeError('Server failed to start')
8989
except Exception as exc:
90-
log('Got exception: ', repr(exc))
90+
log(f'Got exception: {exc!r}')
9191
log(f'Terminate subprocess with {server_name} server...')
9292
process.terminate()
9393
log(f'Wait subprocess with {server_name} server (PID {process.pid})...')
@@ -100,7 +100,7 @@ def run_child_server(server_name: str, host: str, port: int) -> RunningServer:
100100
@staticmethod
101101
def check_response(response: Response) -> None:
102102
if response.status_code != 200:
103-
raise Exception('Bad server reply code: ' + str(response.status_code))
103+
raise Exception(f'Bad server reply code: {response.status_code}')
104104

105105
def get_stored_files(self) -> Sequence[FileOnServer]:
106106
assert self._base_url is not None
@@ -134,14 +134,14 @@ def upload_file(self, original_filename: str, filedata: bytes) -> None:
134134
# filename*=utf-8\'\'%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9.%D1%84%D0%B0%D0%B9%D0%BB
135135
# This is why I'm constructing multipart message manually
136136

137-
boundary = b'Ab522e64be24449aa3131245da23b3yZ'
138-
encoded_filename = original_filename.encode('utf-8')
139-
payload = b'--' + boundary + b'\r\nContent-Disposition: form-data' \
140-
+ b'; name="file"; filename="' + encoded_filename \
141-
+ b'"\r\n\r\n' + filedata + b'\r\n--' + boundary + b'--\r\n'
137+
boundary = 'Ab522e64be24449aa3131245da23b3yZ'
142138

143-
content_type = 'multipart/form-data; boundary=' + boundary.decode('utf-8')
144-
headers = {'Content-Type': content_type}
139+
payload_prefix = \
140+
f'--{boundary}\r\nContent-Disposition: form-data; name="file"; filename="{original_filename}"\r\n\r\n'
141+
payload_postfix = f'\r\n--{boundary}--\r\n'
142+
payload = payload_prefix.encode('utf-8') + filedata + payload_postfix.encode('utf-8')
143+
144+
headers = {'Content-Type': f'multipart/form-data; boundary={boundary}'}
145145

146146
response = requests.post(url, data=payload, headers=headers)
147147

@@ -173,11 +173,11 @@ def remove_all_files(self) -> None:
173173
def on_test_start(self, test_name: str) -> None:
174174
assert self._server_name is not None
175175
log('=============================================')
176-
log('TEST: ' + self._server_name + ': ' + test_name)
176+
log(f'TEST: {self._server_name}: {test_name}')
177177
log('=============================================')
178178

179179
def do_test_upload_file(self, name: str, data: bytes) -> None:
180-
self.on_test_start('FileUpload("' + name + '")')
180+
self.on_test_start(f'FileUpload("{name}")')
181181
self.remove_all_files()
182182
self.assertEqual(0, len(self.get_stored_files()))
183183

@@ -194,7 +194,7 @@ def do_test_upload_file(self, name: str, data: bytes) -> None:
194194
self.assertEqual(0, len(self.get_stored_files()))
195195

196196
def do_test_upload_text(self, name: str, text: str) -> None:
197-
self.on_test_start('TextUpload("' + name + '")')
197+
self.on_test_start(f'TextUpload("{name}")')
198198
self.remove_all_files()
199199
self.assertEqual(0, len(self.get_stored_files()))
200200

@@ -267,8 +267,8 @@ def do_all_tests(self, server_name: str, base_url: str) -> None:
267267
def run_server_and_do_all_tests(self, server_name: str) -> None:
268268
host = DEFAULT_LISTEN_HOST
269269
port = DEFAULT_LISTEN_PORT
270-
base_url = 'http://' + host + ':' + str(port)
271-
log('RunServerAndDoAllTests("' + server_name + '") start')
270+
base_url = f'http://{host}:{port}'
271+
log(f'RunServerAndDoAllTests("{server_name}") start')
272272
server: RunningServer = self.run_child_server(server_name, host, port)
273273

274274
with server.temp_directory:
@@ -281,7 +281,7 @@ def run_server_and_do_all_tests(self, server_name: str) -> None:
281281
server.process.wait()
282282
log(f'Subprocess with {server_name} server finished')
283283

284-
log('RunServerAndDoAllTests("' + server_name + '") finished')
284+
log(f'RunServerAndDoAllTests("{server_name}") finished')
285285

286286
def test_cheroot(self) -> None:
287287
self.run_server_and_do_all_tests('cheroot')
@@ -315,10 +315,10 @@ def test_waitress(self) -> None:
315315
def main() -> None:
316316
server_name = sys.argv[1] if len(sys.argv) > 1 else 'cheroot'
317317

318-
log('Begin testing ' + server_name + '...')
318+
log(f'Begin testing {server_name}...')
319319
test = ServerTestCase()
320320
if server_name.startswith('http://') or server_name.startswith('https://'):
321-
log('Testing external server: ' + server_name)
321+
log(f'Testing external server: {server_name}')
322322

323323
# Waiting for external service is not necessary since we have external waiting in CI
324324
# using Docker image kolomenkin/wait-for-it
@@ -329,14 +329,14 @@ def main() -> None:
329329
assert url.port is not None
330330
started_ok = wait_net_service(url.hostname, url.port, 5)
331331
if started_ok:
332-
log('Server ' + server_name + ' started OK')
332+
log(f'Server {server_name} started OK')
333333
else:
334-
log('Server ' + server_name + ' failed to start')
334+
log(f'Server {server_name} failed to start')
335335
sys.exit(1)
336336

337337
test.do_all_tests('external', server_name)
338338
else:
339-
log('Testing internal server: ' + server_name)
339+
log(f'Testing internal server: {server_name}')
340340
test.run_server_and_do_all_tests(server_name)
341341

342342

utils/speedtest.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def run_child_server(server_name: str, port: int) -> RunningServer:
9292
@staticmethod
9393
def check_response(response: Response) -> None:
9494
if response.status_code != 200:
95-
raise Exception('Bad server reply code: ' + str(response.status_code))
95+
raise Exception(f'Bad server reply code: {response.status_code}')
9696

9797
def get_stored_files(self) -> Sequence[FileOnServer]:
9898
assert self._base_url is not None
@@ -117,14 +117,14 @@ def upload_file(self, original_filename: str, filedata: bytes) -> None:
117117
# filename*=utf-8\'\'%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9.%D1%84%D0%B0%D0%B9%D0%BB
118118
# This is why I'm constructing multipart message manually
119119

120-
boundary = b'Ab522e64be24449aa3131245da23b3yZ'
121-
encoded_filename = original_filename.encode('utf-8')
122-
payload = b'--' + boundary + b'\r\nContent-Disposition: form-data' \
123-
+ b'; name="file"; filename="' + encoded_filename \
124-
+ b'"\r\n\r\n' + filedata + b'\r\n--' + boundary + b'--\r\n'
120+
boundary = 'Ab522e64be24449aa3131245da23b3yZ'
125121

126-
content_type = 'multipart/form-data; boundary=' + boundary.decode('utf-8')
127-
headers = {'Content-Type': content_type}
122+
payload_prefix = \
123+
f'--{boundary}\r\nContent-Disposition: form-data; name="file"; filename="{original_filename}"\r\n\r\n'
124+
payload_postfix = f'\r\n--{boundary}--\r\n'
125+
payload = payload_prefix.encode('utf-8') + filedata + payload_postfix.encode('utf-8')
126+
127+
headers = {'Content-Type': f'multipart/form-data; boundary={boundary}'}
128128

129129
response = requests.post(url, data=payload, headers=headers)
130130

@@ -133,7 +133,7 @@ def upload_file(self, original_filename: str, filedata: bytes) -> None:
133133
def do_all_tests(self, server_name: str) -> None:
134134
port = LISTEN_PORT
135135

136-
self._base_url = 'http://' + LISTEN_HOST + ':' + str(port)
136+
self._base_url = f'http://{LISTEN_HOST}:{port}'
137137
LOGGER.info('DoTest("%s") start', server_name)
138138
server: RunningServer = self.run_child_server(server_name, port)
139139

0 commit comments

Comments
 (0)