diff options
| author | Dennis Fink | 2026-08-20 22:22:15 +0200 |
|---|---|---|
| committer | Dennis Fink | 2026-08-20 22:22:15 +0200 |
| commit | 12b8c4b7f1d14556cc459f672b501e901da2d216 (patch) | |
| tree | 7f7dfbc03c677e851059a583f0d2c661492e5644 | |
| parent | dfce52067fdbe1c7f59764ef4cd3fb2bfc056cc4 (diff) | |
| download | webmentions-ssg-12b8c4b7f1d14556cc459f672b501e901da2d216.tar.gz webmentions-ssg-12b8c4b7f1d14556cc459f672b501e901da2d216.zip | |
chore(core): standardize SPDX copyright headers
Add SPDX copyright and license headers to source, test, migration,
template, and static files throughout the project.
Include the maintainer email in copyright notices and fill in the BSD
license copyright holder.
39 files changed, 152 insertions, 5 deletions
@@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2026 Dennis Fink +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> # # SPDX-License-Identifier: BSD-3-Clause diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt index ea890af..cff945a 100644 --- a/LICENSES/BSD-3-Clause.txt +++ b/LICENSES/BSD-3-Clause.txt @@ -1,4 +1,4 @@ -Copyright (c) <year> <owner>. +Copyright (c) 2026 Dennis Fink <me+coding@dennisfink.me>. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -1,5 +1,5 @@ <!-- -SPDX-FileCopyrightText: 2026 Dennis Fink +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> SPDX-License-Identifier: BSD-3-Clause --> diff --git a/migrations/alembic.ini b/migrations/alembic.ini index ec9d45c..bdfa231 100644 --- a/migrations/alembic.ini +++ b/migrations/alembic.ini @@ -1,3 +1,7 @@ +; SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +; +; SPDX-License-Identifier: BSD-3-Clause + # A generic, single database configuration. [alembic] diff --git a/migrations/env.py b/migrations/env.py index a5d762b..fa912c3 100644 --- a/migrations/env.py +++ b/migrations/env.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import logging from logging.config import fileConfig diff --git a/migrations/versions/681a2a9a1bc0_webmention_sender.py b/migrations/versions/681a2a9a1bc0_webmention_sender.py index 29142af..23bf2dd 100644 --- a/migrations/versions/681a2a9a1bc0_webmention_sender.py +++ b/migrations/versions/681a2a9a1bc0_webmention_sender.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + """Webmention sender Revision ID: 681a2a9a1bc0 diff --git a/migrations/versions/be6e229d6a3d_do_not_limit_username_and_password_hash_.py b/migrations/versions/be6e229d6a3d_do_not_limit_username_and_password_hash_.py index 5555ab9..4bb7a7c 100644 --- a/migrations/versions/be6e229d6a3d_do_not_limit_username_and_password_hash_.py +++ b/migrations/versions/be6e229d6a3d_do_not_limit_username_and_password_hash_.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + """Do not limit username and password hash length Revision ID: be6e229d6a3d diff --git a/migrations/versions/f63641044cc1_initial_database_schema.py b/migrations/versions/f63641044cc1_initial_database_schema.py index c65af21..5017bc3 100644 --- a/migrations/versions/f63641044cc1_initial_database_schema.py +++ b/migrations/versions/f63641044cc1_initial_database_schema.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + """Initial database schema Revision ID: f63641044cc1 diff --git a/pyproject.toml b/pyproject.toml index 81dcd1b..e30959c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2026 Dennis Fink +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> # # SPDX-License-Identifier: BSD-3-Clause diff --git a/tests/conftest.py b/tests/conftest.py index 45658b4..3064393 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from collections.abc import Iterator import pytest diff --git a/tests/tasks/test_receiver.py b/tests/tasks/test_receiver.py index 7e8f531..17dd45a 100644 --- a/tests/tasks/test_receiver.py +++ b/tests/tasks/test_receiver.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import logging import uuid from types import ModuleType diff --git a/tests/tasks/test_scanner.py b/tests/tasks/test_scanner.py index 89e2995..332b8bf 100644 --- a/tests/tasks/test_scanner.py +++ b/tests/tasks/test_scanner.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from pathlib import Path from types import ModuleType from uuid import UUID diff --git a/tests/tasks/test_sender.py b/tests/tasks/test_sender.py index 1c8ef99..dac56a5 100644 --- a/tests/tasks/test_sender.py +++ b/tests/tasks/test_sender.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import logging import uuid from datetime import UTC, datetime diff --git a/tests/test_forms.py b/tests/test_forms.py index 73c6ffc..fc16858 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from unittest.mock import patch import pytest diff --git a/tests/test_url_security.py b/tests/test_url_security.py index 70d5146..db513f9 100644 --- a/tests/test_url_security.py +++ b/tests/test_url_security.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from unittest.mock import Mock, patch import dns.resolver diff --git a/tests/test_views.py b/tests/test_views.py index 67ed190..0de8b9b 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import uuid from datetime import UTC, datetime from unittest.mock import Mock, call, patch diff --git a/uv.lock.license b/uv.lock.license index 40901c5..c53d275 100644 --- a/uv.lock.license +++ b/uv.lock.license @@ -1,3 +1,4 @@ SPDX-FileCopyrightText: 2026 Dennis Fink +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> SPDX-License-Identifier: BSD-3-Clause diff --git a/webmentions_ssg/__init__.py b/webmentions_ssg/__init__.py index 3928195..ad77667 100644 --- a/webmentions_ssg/__init__.py +++ b/webmentions_ssg/__init__.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2026 Dennis Fink +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> # # SPDX-License-Identifier: BSD-3-Clause diff --git a/webmentions_ssg/auth.py b/webmentions_ssg/auth.py index 7bd93a3..de5b297 100644 --- a/webmentions_ssg/auth.py +++ b/webmentions_ssg/auth.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from flask_login import LoginManager from . import DATABASE as db diff --git a/webmentions_ssg/config.py b/webmentions_ssg/config.py index 6996b57..72842c4 100644 --- a/webmentions_ssg/config.py +++ b/webmentions_ssg/config.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import logging import secrets diff --git a/webmentions_ssg/forms/__init__.py b/webmentions_ssg/forms/__init__.py index c386eb1..7ab82e3 100644 --- a/webmentions_ssg/forms/__init__.py +++ b/webmentions_ssg/forms/__init__.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import re from flask_wtf import FlaskForm diff --git a/webmentions_ssg/forms/validators.py b/webmentions_ssg/forms/validators.py index c4b5eda..fd54e0f 100644 --- a/webmentions_ssg/forms/validators.py +++ b/webmentions_ssg/forms/validators.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from urllib.parse import urlsplit from flask import current_app diff --git a/webmentions_ssg/models.py b/webmentions_ssg/models.py index f89e587..e7ff0be 100644 --- a/webmentions_ssg/models.py +++ b/webmentions_ssg/models.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from __future__ import annotations import uuid diff --git a/webmentions_ssg/static/js/confirmation-modal.js b/webmentions_ssg/static/js/confirmation-modal.js index e278790..fee825f 100644 --- a/webmentions_ssg/static/js/confirmation-modal.js +++ b/webmentions_ssg/static/js/confirmation-modal.js @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +// +// SPDX-License-Identifier: BSD-3-Clause + document.addEventListener("DOMContentLoaded", () => { const confirmationModal = document.getElementById("confirmation-modal"); diff --git a/webmentions_ssg/tasks/__init__.py b/webmentions_ssg/tasks/__init__.py index 5af3987..62249ca 100644 --- a/webmentions_ssg/tasks/__init__.py +++ b/webmentions_ssg/tasks/__init__.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from .extension import Huey __all__ = ["Huey"] diff --git a/webmentions_ssg/tasks/consumer.py b/webmentions_ssg/tasks/consumer.py index 3bfe861..0f73529 100644 --- a/webmentions_ssg/tasks/consumer.py +++ b/webmentions_ssg/tasks/consumer.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from huey import Huey, crontab from .. import HUEY, create_app diff --git a/webmentions_ssg/tasks/extension.py b/webmentions_ssg/tasks/extension.py index 15bc669..95f190f 100644 --- a/webmentions_ssg/tasks/extension.py +++ b/webmentions_ssg/tasks/extension.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from functools import wraps from typing import Any, Callable from urllib.parse import urlsplit, urlunsplit diff --git a/webmentions_ssg/tasks/receiver.py b/webmentions_ssg/tasks/receiver.py index 4aba3d8..c33f517 100644 --- a/webmentions_ssg/tasks/receiver.py +++ b/webmentions_ssg/tasks/receiver.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import uuid from urllib.parse import urljoin diff --git a/webmentions_ssg/tasks/scanner.py b/webmentions_ssg/tasks/scanner.py index fa6a47b..0cf038a 100644 --- a/webmentions_ssg/tasks/scanner.py +++ b/webmentions_ssg/tasks/scanner.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + from collections.abc import Iterator from dataclasses import dataclass from datetime import UTC, datetime diff --git a/webmentions_ssg/tasks/sender.py b/webmentions_ssg/tasks/sender.py index 629c538..1d22ad9 100644 --- a/webmentions_ssg/tasks/sender.py +++ b/webmentions_ssg/tasks/sender.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import re import uuid from datetime import UTC, datetime diff --git a/webmentions_ssg/templates/base.html b/webmentions_ssg/templates/base.html index eb11b8e..1275391 100644 --- a/webmentions_ssg/templates/base.html +++ b/webmentions_ssg/templates/base.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% from "bootstrap5/utils.html" import render_messages %} <!DOCTYPE html> <html lang="en" data-bs-theme="dark"> diff --git a/webmentions_ssg/templates/includes/confirmation_modal.html b/webmentions_ssg/templates/includes/confirmation_modal.html index ff9bd06..5c0a5a1 100644 --- a/webmentions_ssg/templates/includes/confirmation_modal.html +++ b/webmentions_ssg/templates/includes/confirmation_modal.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + <div class="modal fade" id="confirmation-modal" tabindex="-1" diff --git a/webmentions_ssg/templates/login.html b/webmentions_ssg/templates/login.html index e7d858c..9b9884e 100644 --- a/webmentions_ssg/templates/login.html +++ b/webmentions_ssg/templates/login.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% extends "base.html" %} {% set title = "Login" %} {% from "bootstrap5/form.html" import render_form %} diff --git a/webmentions_ssg/templates/received.html b/webmentions_ssg/templates/received.html index 525e811..1c5a216 100644 --- a/webmentions_ssg/templates/received.html +++ b/webmentions_ssg/templates/received.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% extends "base.html" %} {% from "bootstrap5/form.html" import render_form %} {% from "bootstrap5/pagination.html" import render_pagination %} diff --git a/webmentions_ssg/templates/sent.html b/webmentions_ssg/templates/sent.html index bc9e021..1d311a0 100644 --- a/webmentions_ssg/templates/sent.html +++ b/webmentions_ssg/templates/sent.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% extends "base.html" %} {% from "bootstrap5/form.html" import render_form %} {% from "bootstrap5/pagination.html" import render_pagination %} diff --git a/webmentions_ssg/templates/sent_source.html b/webmentions_ssg/templates/sent_source.html index 8e5932c..6bb2ac5 100644 --- a/webmentions_ssg/templates/sent_source.html +++ b/webmentions_ssg/templates/sent_source.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% extends "base.html" %} {% block content %} <div class="mb-3"> diff --git a/webmentions_ssg/templates/status.html b/webmentions_ssg/templates/status.html index 451f26f..9140c95 100644 --- a/webmentions_ssg/templates/status.html +++ b/webmentions_ssg/templates/status.html @@ -1,3 +1,9 @@ +<!-- +SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> + +SPDX-License-Identifier: BSD-3-Clause +--> + {% extends "base.html" %} {% from "bootstrap5/utils.html" import render_icon %} {% block content %} diff --git a/webmentions_ssg/url_security.py b/webmentions_ssg/url_security.py index 9cd261e..716591c 100644 --- a/webmentions_ssg/url_security.py +++ b/webmentions_ssg/url_security.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import ipaddress from urllib.parse import urlsplit diff --git a/webmentions_ssg/views.py b/webmentions_ssg/views.py index 13e5086..eb2b372 100644 --- a/webmentions_ssg/views.py +++ b/webmentions_ssg/views.py @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Dennis Fink <me+coding@dennisfink.me> +# +# SPDX-License-Identifier: BSD-3-Clause + import uuid from typing import cast from urllib.parse import urlsplit |
