diff options
40 files changed, 40 insertions, 0 deletions
diff --git a/fietsboek/__init__.py b/fietsboek/__init__.py index ee7d8b7..abad872 100644 --- a/fietsboek/__init__.py +++ b/fietsboek/__init__.py @@ -13,6 +13,7 @@ For more information, you can check out the following resources:  Content  -------  """ +  import importlib.metadata  import logging  from pathlib import Path diff --git a/fietsboek/actions.py b/fietsboek/actions.py index 439a8cd..4caf985 100644 --- a/fietsboek/actions.py +++ b/fietsboek/actions.py @@ -5,6 +5,7 @@ track", "delete a track", ... It combines the low-level APIs of the ORM and the  data manager, and provides functions that can be used by the views, the API and  the test functions.  """ +  import datetime  import logging  import re diff --git a/fietsboek/alembic/env.py b/fietsboek/alembic/env.py index 644d98b..7c8483c 100644 --- a/fietsboek/alembic/env.py +++ b/fietsboek/alembic/env.py @@ -1,4 +1,5 @@  """Pyramid bootstrap environment. """ +  from alembic import context  from pyramid.paster import get_appsettings, setup_logging  from sqlalchemy import engine_from_config diff --git a/fietsboek/config.py b/fietsboek/config.py index c3c31c8..5e52005 100644 --- a/fietsboek/config.py +++ b/fietsboek/config.py @@ -11,6 +11,7 @@ Most of the logic is handled by pydantic_.  .. _pydantic: https://pydantic-docs.helpmanual.io/  """ +  # pylint: disable=no-name-in-module,no-self-argument,too-few-public-methods  import hashlib  import logging diff --git a/fietsboek/convert.py b/fietsboek/convert.py index bf0664a..3c8208b 100644 --- a/fietsboek/convert.py +++ b/fietsboek/convert.py @@ -1,4 +1,5 @@  """Conversion functions to convert between various recording formats.""" +  import fitparse  from gpxpy.gpx import GPX, GPXTrack, GPXTrackPoint, GPXTrackSegment diff --git a/fietsboek/data.py b/fietsboek/data.py index 5dab9bc..1e04c86 100644 --- a/fietsboek/data.py +++ b/fietsboek/data.py @@ -3,6 +3,7 @@  Data are objects that belong to a track (such as images), but are not stored in  the database itself. This module makes access to such data objects easier.  """ +  # We don't have onexc yet in all supported versions, so let's ignore the  # deprecation for now and stick with onerror:  # pylint: disable=deprecated-argument diff --git a/fietsboek/email.py b/fietsboek/email.py index 5b9218a..06ed19c 100644 --- a/fietsboek/email.py +++ b/fietsboek/email.py @@ -1,4 +1,5 @@  """Utility functions for email sending.""" +  import logging  import smtplib  import sys diff --git a/fietsboek/hittekaart.py b/fietsboek/hittekaart.py index a5dc031..15f2855 100644 --- a/fietsboek/hittekaart.py +++ b/fietsboek/hittekaart.py @@ -2,6 +2,7 @@  .. _hittekaart: https://gitlab.com/dunj3/hittekaart  """ +  import enum  import logging  import shutil diff --git a/fietsboek/jinja2.py b/fietsboek/jinja2.py index f5ae7d7..64e3d33 100644 --- a/fietsboek/jinja2.py +++ b/fietsboek/jinja2.py @@ -1,4 +1,5 @@  """Custom filters for Jinja2.""" +  import datetime  import json diff --git a/fietsboek/models/__init__.py b/fietsboek/models/__init__.py index 2788407..593b756 100644 --- a/fietsboek/models/__init__.py +++ b/fietsboek/models/__init__.py @@ -3,6 +3,7 @@  Note that all SQLAlchemy models are re-imported here. You should only need to  access the submodules if you need some of the auxiliary definitions.  """ +  import zope.sqlalchemy  from sqlalchemy import engine_from_config  from sqlalchemy.orm import configure_mappers, sessionmaker diff --git a/fietsboek/models/badge.py b/fietsboek/models/badge.py index c47ea4b..6734104 100644 --- a/fietsboek/models/badge.py +++ b/fietsboek/models/badge.py @@ -1,4 +1,5 @@  """The Badge model.""" +  from typing import TYPE_CHECKING  from pyramid.httpexceptions import HTTPNotFound diff --git a/fietsboek/models/comment.py b/fietsboek/models/comment.py index d9f9579..1c14e5c 100644 --- a/fietsboek/models/comment.py +++ b/fietsboek/models/comment.py @@ -1,4 +1,5 @@  """Comment model.""" +  from typing import TYPE_CHECKING  from sqlalchemy import Column, DateTime, ForeignKey, Integer, Text diff --git a/fietsboek/models/image.py b/fietsboek/models/image.py index 1d741ec..c81b9dd 100644 --- a/fietsboek/models/image.py +++ b/fietsboek/models/image.py @@ -3,6 +3,7 @@  The actual image data is saved on disk, we only store the metadata such as an  image description here.  """ +  from typing import TYPE_CHECKING  from sqlalchemy import Column, ForeignKey, Integer, Text, UniqueConstraint, select diff --git a/fietsboek/models/meta.py b/fietsboek/models/meta.py index f06c863..d9d257c 100644 --- a/fietsboek/models/meta.py +++ b/fietsboek/models/meta.py @@ -1,4 +1,5 @@  """Base metadata definition for the SQLAlchemy models.""" +  from sqlalchemy.orm import declarative_base  from sqlalchemy.schema import MetaData diff --git a/fietsboek/models/track.py b/fietsboek/models/track.py index 0f5fd39..230c470 100644 --- a/fietsboek/models/track.py +++ b/fietsboek/models/track.py @@ -11,6 +11,7 @@ keeps the user's metadata and the computed information separate, and allows for  example all cached data to be re-computed without interfering with the other  meta information.  """ +  import datetime  import enum  import gzip diff --git a/fietsboek/models/user.py b/fietsboek/models/user.py index 36cdbc9..6a82791 100644 --- a/fietsboek/models/user.py +++ b/fietsboek/models/user.py @@ -1,4 +1,5 @@  """User models for fietsboek.""" +  import datetime  import enum  import hashlib diff --git a/fietsboek/pages.py b/fietsboek/pages.py index 5ca8f24..52cafd4 100644 --- a/fietsboek/pages.py +++ b/fietsboek/pages.py @@ -1,4 +1,5 @@  """Module containing logic to support "static" pages.""" +  import enum  import re  from pathlib import Path diff --git a/fietsboek/pshell.py b/fietsboek/pshell.py index 0907e80..3476055 100644 --- a/fietsboek/pshell.py +++ b/fietsboek/pshell.py @@ -1,4 +1,5 @@  """Shell for interactive access to the Pyramid application.""" +  from . import models diff --git a/fietsboek/scripts/__init__.py b/fietsboek/scripts/__init__.py index b8a883a..3cfbfac 100644 --- a/fietsboek/scripts/__init__.py +++ b/fietsboek/scripts/__init__.py @@ -1,4 +1,5 @@  """Various command line scripts to interact with the fietsboek installation.""" +  from typing import Any, Optional  import click diff --git a/fietsboek/scripts/fietscron.py b/fietsboek/scripts/fietscron.py index e641ac7..52236f2 100644 --- a/fietsboek/scripts/fietscron.py +++ b/fietsboek/scripts/fietscron.py @@ -1,4 +1,5 @@  """Script to do maintenance actions for fietsboek.""" +  import datetime  import logging  import logging.config diff --git a/fietsboek/scripts/fietsctl.py b/fietsboek/scripts/fietsctl.py index d0b5639..e2a005d 100644 --- a/fietsboek/scripts/fietsctl.py +++ b/fietsboek/scripts/fietsctl.py @@ -1,4 +1,5 @@  """Script to do maintenance work on a Fietsboek instance.""" +  # pylint: disable=too-many-arguments  import logging  from typing import Optional diff --git a/fietsboek/security.py b/fietsboek/security.py index 13ce369..19fea4c 100644 --- a/fietsboek/security.py +++ b/fietsboek/security.py @@ -1,4 +1,5 @@  """Module implementing the user authentication.""" +  from pyramid.authentication import AuthTktCookieHelper, SessionAuthenticationHelper  from pyramid.authorization import ACLHelper, Authenticated, Everyone  from pyramid.interfaces import ISecurityPolicy diff --git a/fietsboek/summaries.py b/fietsboek/summaries.py index 126091f..9721de2 100644 --- a/fietsboek/summaries.py +++ b/fietsboek/summaries.py @@ -1,4 +1,5 @@  """Module for a yearly/monthly track summary.""" +  from typing import Dict, List  from fietsboek.models.track import TrackWithMetadata diff --git a/fietsboek/transformers/breaks.py b/fietsboek/transformers/breaks.py index 1c56414..789fdfd 100644 --- a/fietsboek/transformers/breaks.py +++ b/fietsboek/transformers/breaks.py @@ -1,4 +1,5 @@  """Transformers that deal with breaks in the track.""" +  import datetime  from gpxpy.gpx import GPX, GPXTrack diff --git a/fietsboek/transformers/elevation.py b/fietsboek/transformers/elevation.py index 0af5161..e1f7c7c 100644 --- a/fietsboek/transformers/elevation.py +++ b/fietsboek/transformers/elevation.py @@ -1,4 +1,5 @@  """Transformers that deal with elevation changes in the track.""" +  from collections.abc import Callable, Iterable  from itertools import islice, zip_longest diff --git a/fietsboek/updater/__init__.py b/fietsboek/updater/__init__.py index 5faa805..42e40f4 100644 --- a/fietsboek/updater/__init__.py +++ b/fietsboek/updater/__init__.py @@ -1,4 +1,5 @@  """Updating (data migration) logic for fietsboek.""" +  import datetime  import enum  import importlib.resources diff --git a/fietsboek/updater/cli.py b/fietsboek/updater/cli.py index f74dc40..9b7d92e 100644 --- a/fietsboek/updater/cli.py +++ b/fietsboek/updater/cli.py @@ -6,6 +6,7 @@ managing migrations between Fietsboek versions. In particular, the updater  takes care of running the database migrations, migrating the data directory and  migrating the configuration.  """ +  import logging.config  import click diff --git a/fietsboek/updater/script.py b/fietsboek/updater/script.py index 305c949..e54f435 100644 --- a/fietsboek/updater/script.py +++ b/fietsboek/updater/script.py @@ -1,4 +1,5 @@  """Base class definition for update scripts.""" +  # Placed in a separate file to avoid cyclic dependencies diff --git a/fietsboek/util.py b/fietsboek/util.py index 625da49..f9846ea 100644 --- a/fietsboek/util.py +++ b/fietsboek/util.py @@ -1,4 +1,5 @@  """Various utility functions.""" +  import datetime  import html  import importlib.resources diff --git a/fietsboek/views/account.py b/fietsboek/views/account.py index e353360..6989f61 100644 --- a/fietsboek/views/account.py +++ b/fietsboek/views/account.py @@ -1,4 +1,5 @@  """Account related endpoints.""" +  from pyramid.httpexceptions import HTTPForbidden, HTTPFound  from pyramid.i18n import TranslationString as _  from pyramid.view import view_config diff --git a/fietsboek/views/admin.py b/fietsboek/views/admin.py index 2c489a7..b7d56aa 100644 --- a/fietsboek/views/admin.py +++ b/fietsboek/views/admin.py @@ -1,4 +1,5 @@  """Admin views.""" +  from pyramid.httpexceptions import HTTPFound  from pyramid.i18n import TranslationString as _  from pyramid.view import view_config diff --git a/fietsboek/views/browse.py b/fietsboek/views/browse.py index f23d3a1..6f21961 100644 --- a/fietsboek/views/browse.py +++ b/fietsboek/views/browse.py @@ -1,4 +1,5 @@  """Views for browsing all tracks.""" +  import datetime  from collections.abc import Callable, Iterable  from enum import Enum diff --git a/fietsboek/views/default.py b/fietsboek/views/default.py index 75a9522..61381f0 100644 --- a/fietsboek/views/default.py +++ b/fietsboek/views/default.py @@ -1,4 +1,5 @@  """Home views.""" +  from markupsafe import Markup  from pyramid.httpexceptions import HTTPFound, HTTPNotFound  from pyramid.i18n import TranslationString as _ diff --git a/fietsboek/views/detail.py b/fietsboek/views/detail.py index d00aed3..0995892 100644 --- a/fietsboek/views/detail.py +++ b/fietsboek/views/detail.py @@ -1,4 +1,5 @@  """Track detail views.""" +  import datetime  import gzip  import logging diff --git a/fietsboek/views/edit.py b/fietsboek/views/edit.py index 881f404..a02a8bf 100644 --- a/fietsboek/views/edit.py +++ b/fietsboek/views/edit.py @@ -1,4 +1,5 @@  """Views for editing a track.""" +  import datetime  import logging  from collections import namedtuple diff --git a/fietsboek/views/notfound.py b/fietsboek/views/notfound.py index ac24008..13bd094 100644 --- a/fietsboek/views/notfound.py +++ b/fietsboek/views/notfound.py @@ -1,4 +1,5 @@  """Error views.""" +  from pyramid.view import notfound_view_config diff --git a/fietsboek/views/profile.py b/fietsboek/views/profile.py index c7f932d..dc2fcd9 100644 --- a/fietsboek/views/profile.py +++ b/fietsboek/views/profile.py @@ -1,4 +1,5 @@  """Endpoints for the user profile pages.""" +  import datetime  import sqlite3  import urllib.parse diff --git a/fietsboek/views/tileproxy.py b/fietsboek/views/tileproxy.py index 0264284..8664bee 100644 --- a/fietsboek/views/tileproxy.py +++ b/fietsboek/views/tileproxy.py @@ -6,6 +6,7 @@ access control for services like thunderforest.com.  Additionally, this protects the users' IP, as only fietsboek can see it.  """ +  import datetime  import logging  import threading diff --git a/fietsboek/views/upload.py b/fietsboek/views/upload.py index 4fee76a..8316c94 100644 --- a/fietsboek/views/upload.py +++ b/fietsboek/views/upload.py @@ -1,4 +1,5 @@  """Upload functionality.""" +  import datetime  import logging diff --git a/fietsboek/views/user_data.py b/fietsboek/views/user_data.py index 66c2075..4feb189 100644 --- a/fietsboek/views/user_data.py +++ b/fietsboek/views/user_data.py @@ -1,4 +1,5 @@  """Views corresponding to the user profile.""" +  import datetime  from pyramid.httpexceptions import HTTPForbidden, HTTPFound, HTTPNotFound  | 
