aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fietsboek/actions.py3
-rw-r--r--fietsboek/config.py12
-rw-r--r--fietsboek/data.py3
-rw-r--r--fietsboek/email.py3
-rw-r--r--fietsboek/jinja2.py11
-rw-r--r--fietsboek/models/__init__.py3
-rw-r--r--fietsboek/models/badge.py3
-rw-r--r--fietsboek/models/comment.py3
-rw-r--r--fietsboek/models/image.py3
-rw-r--r--fietsboek/models/meta.py3
-rw-r--r--fietsboek/models/track.py14
-rw-r--r--fietsboek/models/user.py15
-rw-r--r--fietsboek/pages.py3
-rw-r--r--fietsboek/pshell.py3
-rw-r--r--fietsboek/routes.py3
-rw-r--r--fietsboek/security.py3
-rw-r--r--fietsboek/summaries.py3
-rw-r--r--fietsboek/util.py28
-rw-r--r--fietsboek/views/account.py3
-rw-r--r--fietsboek/views/admin.py3
-rw-r--r--fietsboek/views/browse.py17
-rw-r--r--fietsboek/views/default.py14
-rw-r--r--fietsboek/views/detail.py3
-rw-r--r--fietsboek/views/edit.py3
-rw-r--r--fietsboek/views/notfound.py3
-rw-r--r--fietsboek/views/profile.py2
-rw-r--r--fietsboek/views/tileproxy.py17
-rw-r--r--fietsboek/views/upload.py10
-rw-r--r--fietsboek/views/user_data.py12
29 files changed, 205 insertions, 1 deletions
diff --git a/fietsboek/actions.py b/fietsboek/actions.py
index f5cd8e8..a20ca2e 100644
--- a/fietsboek/actions.py
+++ b/fietsboek/actions.py
@@ -277,3 +277,6 @@ def send_verification_token(request: Request, user: models.User):
request.config.email_password.get_secret_value(),
message,
)
+
+
+__all__ = ["add_track", "edit_images", "execute_transformers", "send_verification_token"]
diff --git a/fietsboek/config.py b/fietsboek/config.py
index b12bf9b..af946b4 100644
--- a/fietsboek/config.py
+++ b/fietsboek/config.py
@@ -339,3 +339,15 @@ def _field_name(field_name, field):
if alias:
return alias
return field_name
+
+
+__all__ = [
+ "KNOWN_PYRAMID_SETTINGS",
+ "KNOWN_TILE_LAYERS",
+ "ValidationError",
+ "LayerType",
+ "LayerAccess",
+ "PyramidList",
+ "TileLayerConfig",
+ "Config",
+]
diff --git a/fietsboek/data.py b/fietsboek/data.py
index 294df30..a7e9b19 100644
--- a/fietsboek/data.py
+++ b/fietsboek/data.py
@@ -427,3 +427,6 @@ class UserDataDir:
:return: The path of the tilehunt SQLite database.
"""
return self.path / "tilehunt.sqlite"
+
+
+__all__ = ["generate_filename", "DataManager", "TrackDataDir", "UserDataDir"]
diff --git a/fietsboek/email.py b/fietsboek/email.py
index 06ed19c..6b926e2 100644
--- a/fietsboek/email.py
+++ b/fietsboek/email.py
@@ -63,3 +63,6 @@ def send_message(
client.quit()
except smtplib.SMTPException:
LOGGER.error("Error when sending an email", exc_info=sys.exc_info())
+
+
+__all__ = ["prepare_message", "send_message"]
diff --git a/fietsboek/jinja2.py b/fietsboek/jinja2.py
index 9f445af..5535bb9 100644
--- a/fietsboek/jinja2.py
+++ b/fietsboek/jinja2.py
@@ -154,3 +154,14 @@ def global_list_languages(request: Request) -> list[tuple[str, str]]:
:return: The available languages.
"""
return util.list_locales(request)
+
+
+__all__ = [
+ "filter_format_decimal",
+ "filter_format_datetime",
+ "filter_format_date",
+ "filter_local_datetime",
+ "filter_round_to_seconds",
+ "global_embed_tile_layers",
+ "global_list_languages",
+]
diff --git a/fietsboek/models/__init__.py b/fietsboek/models/__init__.py
index 593b756..6f91eae 100644
--- a/fietsboek/models/__init__.py
+++ b/fietsboek/models/__init__.py
@@ -133,3 +133,6 @@ def includeme(config):
return dbsession
config.add_request_method(dbsession, reify=True)
+
+
+__all__ = ["get_engine", "get_session_factory", "get_tm_session", "includeme"]
diff --git a/fietsboek/models/badge.py b/fietsboek/models/badge.py
index 6734104..2a6ef95 100644
--- a/fietsboek/models/badge.py
+++ b/fietsboek/models/badge.py
@@ -56,3 +56,6 @@ class Badge(Base):
if badge_object is None:
raise HTTPNotFound()
return badge_object
+
+
+__all__ = ["Badge"]
diff --git a/fietsboek/models/comment.py b/fietsboek/models/comment.py
index 66c4adf..e1762d5 100644
--- a/fietsboek/models/comment.py
+++ b/fietsboek/models/comment.py
@@ -44,3 +44,6 @@ class Comment(Base):
author: Mapped["User"] = relationship("User", back_populates="comments")
track: Mapped["Track"] = relationship("Track", back_populates="comments")
+
+
+__all__ = ["Comment"]
diff --git a/fietsboek/models/image.py b/fietsboek/models/image.py
index c81b9dd..dfa9ffb 100644
--- a/fietsboek/models/image.py
+++ b/fietsboek/models/image.py
@@ -60,3 +60,6 @@ class ImageMetadata(Base):
if result:
return result
return cls(track=track, image_name=image_name)
+
+
+__all__ = ["ImageMetadata"]
diff --git a/fietsboek/models/meta.py b/fietsboek/models/meta.py
index d9d257c..45723fd 100644
--- a/fietsboek/models/meta.py
+++ b/fietsboek/models/meta.py
@@ -16,3 +16,6 @@ NAMING_CONVENTION = {
metadata = MetaData(naming_convention=NAMING_CONVENTION)
Base = declarative_base(metadata=metadata)
+
+
+__all__ = ["NAMING_CONVENTION", "metadata", "Base"]
diff --git a/fietsboek/models/track.py b/fietsboek/models/track.py
index afa7772..0737982 100644
--- a/fietsboek/models/track.py
+++ b/fietsboek/models/track.py
@@ -887,3 +887,17 @@ class Upload(Base):
@gpx_data.setter
def gpx_data(self, value):
self.gpx = gzip.compress(value)
+
+
+__all__ = [
+ "Tag",
+ "Visibility",
+ "TrackType",
+ "track_people_assoc",
+ "track_badge_assoc",
+ "track_favourite_assoc",
+ "Track",
+ "TrackWithMetadata",
+ "TrackCache",
+ "Upload",
+]
diff --git a/fietsboek/models/user.py b/fietsboek/models/user.py
index 65e3704..725fb3a 100644
--- a/fietsboek/models/user.py
+++ b/fietsboek/models/user.py
@@ -572,3 +572,18 @@ class Token(Base):
Index("idx_token_uuid", Token.uuid, unique=True)
+
+
+__all__ = [
+ "PasswordMismatch",
+ "SCRYPT_PARAMETERS",
+ "SALT_LENGTH",
+ "SESSION_SECRET_LENGTH",
+ "TOKEN_LIFETIME",
+ "FINGERPRINT_SHAKE_BYTES",
+ "friends_assoc",
+ "User",
+ "FriendRequest",
+ "TokenType",
+ "Token",
+]
diff --git a/fietsboek/pages.py b/fietsboek/pages.py
index 73d08cc..41652f0 100644
--- a/fietsboek/pages.py
+++ b/fietsboek/pages.py
@@ -207,3 +207,6 @@ class Pages:
:return: A list of menu entries to show.
"""
return [page for page in self.collection if page.menu_index > 0 and page.matches(request)]
+
+
+__all__ = ["PageException", "UserFilter", "Page", "Pages"]
diff --git a/fietsboek/pshell.py b/fietsboek/pshell.py
index 3476055..6f5b8dc 100644
--- a/fietsboek/pshell.py
+++ b/fietsboek/pshell.py
@@ -18,3 +18,6 @@ def setup(env):
env["tm"] = request.tm
env["dbsession"] = request.dbsession
env["models"] = models
+
+
+__all__ = ["setup"]
diff --git a/fietsboek/routes.py b/fietsboek/routes.py
index 343fcd8..07e73cf 100644
--- a/fietsboek/routes.py
+++ b/fietsboek/routes.py
@@ -76,3 +76,6 @@ def includeme(config):
)
config.add_route("tile-proxy", "/tile/{provider}/{z:\\d+}/{x:\\d+}/{y:\\d+}")
+
+
+__all__ = ["includeme"]
diff --git a/fietsboek/security.py b/fietsboek/security.py
index 19fea4c..753d506 100644
--- a/fietsboek/security.py
+++ b/fietsboek/security.py
@@ -86,3 +86,6 @@ class SecurityPolicy:
def forget(self, request, **kw):
"""See :meth:`pyramid.interfaces.ISecurityPolicy.forget`"""
return self.helper.forget(request, **kw) + self.cookie_helper.forget(request, **kw)
+
+
+__all__ = ["ADMIN_PERMISSIONS", "SecurityPolicy"]
diff --git a/fietsboek/summaries.py b/fietsboek/summaries.py
index e0544ce..0bee6ca 100644
--- a/fietsboek/summaries.py
+++ b/fietsboek/summaries.py
@@ -292,3 +292,6 @@ class CumulativeStats:
if not self.count:
return datetime.timedelta()
return util.round_to_seconds((self.moving_time + self.stopped_time) / self.count)
+
+
+__all__ = ["Summary", "YearSummary", "MonthSummary", "CumulativeStats"]
diff --git a/fietsboek/util.py b/fietsboek/util.py
index bcf1fb7..9284ce2 100644
--- a/fietsboek/util.py
+++ b/fietsboek/util.py
@@ -502,3 +502,31 @@ def secure_filename(filename: str) -> str:
filename = f"_{filename}"
return filename
+
+
+__all__ = [
+ "ALLOWED_TAGS",
+ "ALLOWED_ATTRIBUTES",
+ "DEFAULT_START_TIME",
+ "DEFAULT_END_TIME",
+ "DISPLAY_NAME_PATH",
+ "safe_markdown",
+ "fix_iso_timestamp",
+ "round_timedelta_to_multiple",
+ "round_to_seconds",
+ "guess_gpx_timezone",
+ "tour_metadata",
+ "mps_to_kph",
+ "human_size",
+ "month_name",
+ "day_name",
+ "random_link_secret",
+ "retrieve_multiple",
+ "check_password_constraints",
+ "read_localized_resource",
+ "locale_display_name",
+ "list_locales",
+ "tile_url",
+ "encode_gpx",
+ "secure_filename",
+]
diff --git a/fietsboek/views/account.py b/fietsboek/views/account.py
index 6989f61..202bae7 100644
--- a/fietsboek/views/account.py
+++ b/fietsboek/views/account.py
@@ -68,3 +68,6 @@ def do_create_account(request):
request.session.flash(request.localizer.translate(_("flash.a_confirmation_link_has_been_sent")))
return HTTPFound(request.route_url("login"))
+
+
+__all__ = ["create_account", "do_create_account"]
diff --git a/fietsboek/views/admin.py b/fietsboek/views/admin.py
index b7d56aa..d078794 100644
--- a/fietsboek/views/admin.py
+++ b/fietsboek/views/admin.py
@@ -92,3 +92,6 @@ def do_badge_delete(request):
request.session.flash(request.localizer.translate(_("flash.badge_deleted")))
return HTTPFound(request.route_url("admin"))
+
+
+__all__ = ["admin", "do_badge_add", "do_badge_edit", "do_badge_delete"]
diff --git a/fietsboek/views/browse.py b/fietsboek/views/browse.py
index 6f21961..97bee35 100644
--- a/fietsboek/views/browse.py
+++ b/fietsboek/views/browse.py
@@ -481,3 +481,20 @@ def archive(request: Request) -> Response:
content_type="application/zip",
content_disposition="attachment; filename=tracks.zip",
)
+
+
+__all__ = [
+ "Stream",
+ "ResultOrder",
+ "Filter",
+ "LambdaFilter",
+ "SearchFilter",
+ "TagFilter",
+ "PersonFilter",
+ "UserTaggedFilter",
+ "FavouriteFilter",
+ "FilterCollection",
+ "apply_order",
+ "browse",
+ "archive",
+]
diff --git a/fietsboek/views/default.py b/fietsboek/views/default.py
index 61381f0..8a9718d 100644
--- a/fietsboek/views/default.py
+++ b/fietsboek/views/default.py
@@ -271,3 +271,17 @@ def use_token(request: Request) -> Response:
request.session.flash(request.localizer.translate(_("flash.password_updated")))
return HTTPFound(request.route_url("login"))
raise NotImplementedError("No matching action found")
+
+
+__all__ = [
+ "home",
+ "static_page",
+ "login",
+ "do_login",
+ "logout",
+ "password_reset",
+ "do_password_reset",
+ "resend_verification",
+ "do_resend_verification",
+ "use_token",
+]
diff --git a/fietsboek/views/detail.py b/fietsboek/views/detail.py
index e2c3b50..2bc5d9a 100644
--- a/fietsboek/views/detail.py
+++ b/fietsboek/views/detail.py
@@ -220,3 +220,6 @@ def add_comment(request):
)
request.dbsession.add(comment)
return HTTPFound(request.route_url("details", track_id=track.id))
+
+
+__all__ = ["details", "gpx", "invalidate_share", "delete_track", "badge", "image", "add_comment"]
diff --git a/fietsboek/views/edit.py b/fietsboek/views/edit.py
index a02a8bf..c3a4fc5 100644
--- a/fietsboek/views/edit.py
+++ b/fietsboek/views/edit.py
@@ -106,3 +106,6 @@ def do_edit(request):
)
return HTTPFound(request.route_url("details", track_id=track.id))
+
+
+__all__ = ["ImageEmbed", "edit", "do_edit"]
diff --git a/fietsboek/views/notfound.py b/fietsboek/views/notfound.py
index 13bd094..2ec6c6c 100644
--- a/fietsboek/views/notfound.py
+++ b/fietsboek/views/notfound.py
@@ -14,3 +14,6 @@ def notfound_view(request):
"""
request.response.status = 404
return {}
+
+
+__all__ = ["notfound_view"]
diff --git a/fietsboek/views/profile.py b/fietsboek/views/profile.py
index 1208e93..bf604b5 100644
--- a/fietsboek/views/profile.py
+++ b/fietsboek/views/profile.py
@@ -309,4 +309,4 @@ def json_summary(request: Request) -> Response:
return {y.year: {m.month: m.total_length for m in y} for y in summary}
-__all__ = ["profile", "user_tile", "user_calendar_ym", "json_summary"]
+__all__ = ["EMPTY_TILE", "profile", "user_tile", "user_calendar_ym", "json_summary"]
diff --git a/fietsboek/views/tileproxy.py b/fietsboek/views/tileproxy.py
index 7478095..0efe4de 100644
--- a/fietsboek/views/tileproxy.py
+++ b/fietsboek/views/tileproxy.py
@@ -434,3 +434,20 @@ def _extract_stamen(config):
layers = {layer.layer_id: layer for layer in STAMEN_LAYERS}
for name in config.stamen_maps:
yield layers[f"stamen-{name}"]
+
+
+__all__ = [
+ "DEFAULT_TILE_LAYERS",
+ "STAMEN_LAYERS",
+ "TTL",
+ "TIMEOUT",
+ "PUNISHMENT_TTL",
+ "PUNISHMENT_THRESHOLD",
+ "MAX_CONCURRENT_CONNECTIONS",
+ "CONNECTION_CLOSE_TIMEOUT",
+ "ITileRequester",
+ "TileRequester",
+ "tile_proxy",
+ "sources_for",
+ "extract_tile_layers",
+]
diff --git a/fietsboek/views/upload.py b/fietsboek/views/upload.py
index f40d6a5..c40319c 100644
--- a/fietsboek/views/upload.py
+++ b/fietsboek/views/upload.py
@@ -210,3 +210,13 @@ def cancel_upload(request):
request.dbsession.delete(upload)
request.session.flash(request.localizer.translate(_("flash.upload_cancelled")))
return HTTPFound(request.route_url("upload"))
+
+
+__all__ = [
+ "show_upload",
+ "do_upload",
+ "preview",
+ "finish_upload",
+ "do_finish_upload",
+ "cancel_upload",
+]
diff --git a/fietsboek/views/user_data.py b/fietsboek/views/user_data.py
index 829c80b..47df1f2 100644
--- a/fietsboek/views/user_data.py
+++ b/fietsboek/views/user_data.py
@@ -195,3 +195,15 @@ def do_force_logout(request: Request) -> Response:
request.identity.roll_session_secret()
request.session.flash(request.localizer.translate(_("flash.sessions_logged_out")))
return HTTPFound(request.route_url("login"))
+
+
+__all__ = [
+ "user_data",
+ "do_change_profile",
+ "do_add_friend",
+ "do_delete_friend",
+ "do_accept_friend",
+ "json_friends",
+ "do_toggle_favourite",
+ "do_force_logout",
+]