X-Git-Url: https://git.donarmstrong.com/?p=dak.git;a=blobdiff_plain;f=dakweb%2Fwebregister.py;fp=dakweb%2Fwebregister.py;h=d7e7990d4b77c2405110222a5fa188ae017421b2;hp=0000000000000000000000000000000000000000;hb=7db3402aa3615137ec7eb58bd3ba7ac662381d0f;hpb=ad8c9c66e85a91fa7fab09c5742bc5187c7c4416 diff --git a/dakweb/webregister.py b/dakweb/webregister.py new file mode 100644 index 00000000..d7e7990d --- /dev/null +++ b/dakweb/webregister.py @@ -0,0 +1,25 @@ +class QueryRegister(object): + __shared_state = {} + + def __init__(self, *args, **kwargs): + self.__dict__ = self.__shared_state + + if not getattr(self, 'initialised', False): + self.initialised = True + + # Dictionary of query paths to help mappings + self.queries = {} + + def register_path(self, path, func): + self.queries[path] = func.__doc__ + + def get_paths(self): + return sorted(self.queries.keys()) + + def get_path_help(self, path): + # We always register with the leading / + if not path.startswith('/'): + path = '/' + path + return self.queries.get(path, 'Unknown path') + +__all__ = ['QueryRegister']