Coverage for dakweb/webregister.py: 0%
17 statements
« prev ^ index » next coverage.py v7.6.0, created at 2026-01-04 16:18 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2026-01-04 16:18 +0000
1"""
2@contact: Debian FTPMaster <ftpmaster@debian.org>
3@copyright: 2014 Mark Hymers <mhy@debian.org>
4@license: GNU General Public License version 2 or later
5"""
7from typing import Any
10class QueryRegister:
11 __shared_state: dict[str, Any] = {}
13 def __init__(self, *args, **kwargs):
14 self.__dict__ = self.__shared_state
16 if not getattr(self, "initialised", False):
17 self.initialised = True
19 # Dictionary of query paths to help mappings
20 self.queries = {}
22 def register_path(self, path, func):
23 self.queries[path] = func.__module__
25 def get_paths(self):
26 return sorted(self.queries.keys())
28 def get_path_help(self, path):
29 # We always register with the leading /
30 if not path.startswith("/"):
31 path = "/" + path
32 return self.queries.get(path, "/")
35__all__ = ["QueryRegister"]