Skip to content

Commit 087dd35

Browse files
committed
Explicit typing
1 parent e429569 commit 087dd35

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

.pylintrc

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
disable=
22
singleton-comparison
3+
unused-variable

src/bip/app.py

+18-18
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
import logging.config
33
import os
44
import tempfile
5-
from typing import Optional
5+
from typing import Any, Optional, Tuple
66

77
import keyring
88
import sentry_sdk
9-
from flask import render_template, request, send_from_directory
9+
from flask import Response, render_template, request, send_from_directory
1010
from keyrings.cryptfile.cryptfile import CryptFileKeyring
1111
from sentry_sdk.integrations.flask import FlaskIntegration
1212
from werkzeug.utils import ImportStringError
@@ -63,7 +63,7 @@ def make_app() -> Application:
6363
return app
6464

6565

66-
def configure_app(app: Application):
66+
def configure_app(app: Application) -> None:
6767
"""Load application configuration.
6868
6969
:param app: application object
@@ -80,7 +80,7 @@ def configure_app(app: Application):
8080
app.config['TESTING'] = True
8181

8282
@app.route('/attachment/<filename>', endpoint='attachment')
83-
def serve_attachment(filename):
83+
def serve_attachment(filename: str) -> Response:
8484
kw = {
8585
'as_attachment': True,
8686
}
@@ -91,7 +91,7 @@ def serve_attachment(filename):
9191
return send_from_directory(dir_name, filename, **kw)
9292

9393

94-
def configure_logging_handler(app: Application):
94+
def configure_logging_handler(app: Application) -> None:
9595
"""Bind application logging to Gunicorn handler.
9696
9797
This is done only in production and only if Gunicorn logger has any
@@ -108,7 +108,7 @@ def configure_logging_handler(app: Application):
108108
app.logger.setLevel(gunicorn_logger.level)
109109

110110

111-
def configure_database(_app: Application):
111+
def configure_database(_app: Application) -> None:
112112
"""Configure application database connectivity.
113113
114114
:param app: application object
@@ -143,15 +143,15 @@ def configure_database(_app: Application):
143143
db.init(db_name, **kw)
144144

145145

146-
def configure_hooks(app: Application):
146+
def configure_hooks(app: Application) -> None:
147147
"""Set up application lifetime hooks.
148148
149149
:param app: application object
150150
:type app: Application
151151
"""
152152

153153
@app.before_first_request
154-
def load_site_objects():
154+
def load_site_objects() -> None:
155155
if os.getenv('FLASK_ENV') == 'test' and not os.getenv('SITE_JSON'):
156156
site = test_site()
157157
else:
@@ -161,16 +161,16 @@ def load_site_objects():
161161
app.site = app.jinja_env.globals['site'] = site
162162

163163
@app.before_request
164-
def db_connect():
164+
def db_connect() -> None:
165165
db.connect(reuse_if_open=True)
166166

167167
@app.teardown_request
168-
def db_close(exc):
168+
def db_close(exc: Any) -> None:
169169
if not db.is_closed():
170170
db.close()
171171

172172

173-
def configure_blueprints(app: Application):
173+
def configure_blueprints(app: Application) -> None:
174174
"""Register (mount) blueprint objects.
175175
176176
:param app: application object
@@ -182,7 +182,7 @@ def configure_blueprints(app: Application):
182182
app.register_blueprint(user_bp, url_prefix='/uzytkownik')
183183

184184

185-
def configure_extensions(app: Application):
185+
def configure_extensions(app: Application) -> None:
186186
"""Register and configure framework extensions.
187187
188188
:param app: application object
@@ -202,7 +202,7 @@ def get_user(userid: str) -> Optional[User]: # pylint: disable=unused-variable
202202
return User.get_or_none(User.pk == userid)
203203

204204

205-
def configure_templating(app: Application):
205+
def configure_templating(app: Application) -> None:
206206
"""Configure template system extensions.
207207
208208
:param app: application object
@@ -212,27 +212,27 @@ def configure_templating(app: Application):
212212
app.jinja_env.filters.update(extra_filters())
213213

214214

215-
def configure_error_handlers(app: Application):
215+
def configure_error_handlers(app: Application) -> None:
216216
"""Configure global error handlers.
217217
218218
:param app: application object
219219
:type app: Application
220220
"""
221221

222222
@app.errorhandler(403)
223-
def forbidden_page(error): # pylint: disable=unused-variable
223+
def forbidden_page(_error: Any) -> Tuple[str, int]:
224224
return render_template('errors/403.html'), 403
225225

226226
@app.errorhandler(404)
227-
def page_not_found(error): # pylint: disable=unused-variable
227+
def page_not_found(_error: Any) -> Tuple[str, int]:
228228
return render_template('errors/404.html'), 404
229229

230230
@app.errorhandler(500)
231-
def server_error_page(error): # pylint: disable=unused-variable
231+
def server_error_page(_error: Any) -> Tuple[str, int]:
232232
return render_template('errors/500.html'), 500
233233

234234

235-
def configure_logging():
235+
def configure_logging() -> None:
236236
"""Configure application logging on prod.
237237
238238
This configuration is overwritten if running under Gunicorn.

0 commit comments

Comments
 (0)