]> git.decadent.org.uk Git - dak.git/blob - dakweb/webregister.py
Keep track of when a package was last added to a suite
[dak.git] / dakweb / webregister.py
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
7 class QueryRegister(object):
8     __shared_state = {}
9
10     def __init__(self, *args, **kwargs):
11         self.__dict__ = self.__shared_state
12
13         if not getattr(self, 'initialised', False):
14             self.initialised = True
15
16             # Dictionary of query paths to help mappings
17             self.queries = {}
18
19     def register_path(self, path, func):
20         self.queries[path] = func.__module__
21
22     def get_paths(self):
23         return sorted(self.queries.keys())
24
25     def get_path_help(self, path):
26         # We always register with the leading /
27         if not path.startswith('/'):
28             path = '/' + path
29         return self.queries.get(path, '/')
30
31 __all__ = ['QueryRegister']