Coverage for dakweb/webregister.py: 0%

17 statements  

« 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""" 

6 

7from typing import Any 

8 

9 

10class QueryRegister: 

11 __shared_state: dict[str, Any] = {} 

12 

13 def __init__(self, *args, **kwargs): 

14 self.__dict__ = self.__shared_state 

15 

16 if not getattr(self, "initialised", False): 

17 self.initialised = True 

18 

19 # Dictionary of query paths to help mappings 

20 self.queries = {} 

21 

22 def register_path(self, path, func): 

23 self.queries[path] = func.__module__ 

24 

25 def get_paths(self): 

26 return sorted(self.queries.keys()) 

27 

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, "/") 

33 

34 

35__all__ = ["QueryRegister"]