Coverage for an_website/swapped_words/__init__.py: 100.000%
5 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-10 18:56 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-10 18:56 +0000
1# This program is free software: you can redistribute it and/or modify
2# it under the terms of the GNU Affero General Public License as
3# published by the Free Software Foundation, either version 3 of the
4# License, or (at your option) any later version.
5#
6# This program is distributed in the hope that it will be useful,
7# but WITHOUT ANY WARRANTY; without even the implied warranty of
8# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9# GNU Affero General Public License for more details.
10#
11# You should have received a copy of the GNU Affero General Public License
12# along with this program. If not, see <https://www.gnu.org/licenses/>.
14"""A page that swaps words."""
16from .. import GH_ORG_URL
17from ..utils.utils import ModuleInfo, PageInfo
18from .swap import SwappedWords, SwappedWordsAPI
21def get_module_info() -> ModuleInfo:
22 """Create and return the ModuleInfo for this module."""
23 return ModuleInfo(
24 handlers=(
25 (r"/vertauschte-woerter", SwappedWords),
26 (r"/api/vertauschte-woerter", SwappedWordsAPI),
27 ),
28 name="Vertauschte Wörter",
29 description="Eine Seite, die Wörter vertauscht",
30 path="/vertauschte-woerter",
31 keywords=("vertauschte", "Wörter", "witzig", "Känguru"),
32 sub_pages=(
33 PageInfo(
34 name="Plugin",
35 description="Ein Browser-Plugin, welches Wörter vertauscht",
36 path=f"{GH_ORG_URL}/VertauschteWoerterPlugin",
37 ),
38 ),
39 aliases=(
40 "/swapped-words",
41 "/vertauschte-wörter",
42 "/vertauschte-w%C3%B6rter",
43 ),
44 )