Mercurial > cgi-bin > hgweb.cgi > tincan
diff tincan.py @ 67:b5e72129ef72 draft
Support #errors w/ no params, as documented.
author | David Barts <n5jrn@me.com> |
---|---|
date | Sun, 14 Jul 2019 14:47:33 -0700 |
parents | f33cb3e93473 |
children | 61667621e19d |
line wrap: on
line diff
--- a/tincan.py Fri Jul 12 20:27:52 2019 -0700 +++ b/tincan.py Sun Jul 14 14:47:33 2019 -0700 @@ -135,6 +135,7 @@ _NAMES = [ "errors", "forward", "methods", "python", "template" ] _FNAMES = [ "hidden" ] _ANAMES = [ "load" ] + _ONAMES = [ "errors" ] def __init__(self, string): # Initialize our state @@ -179,7 +180,10 @@ continue # Get parameter if rpa is None: - raise TemplateHeaderError("Missing parameter.", count) + if name in self._ONAMES: + rpa = "" + else: + raise TemplateHeaderError("Missing parameter.", count) param = rpa.strip() for i in [ "'", '"']: if param.startswith(i) and param.endswith(i): @@ -585,7 +589,7 @@ # self.logger.debug("forwarded to: %s", self._urlpath) # debug # If this is a #hidden page, we ignore it for now, since hidden pages # don't get routes made for them. - if oheader.hidden and not oheader.errors: + if oheader.hidden and oheader.errors is None: return # Get the code-behind #python if self._header.python is None: @@ -687,7 +691,7 @@ pypath = os.path.normpath(os.path.join(self._fsroot, *self._splitpath(self._python))) except IndexError as e: raise TinCanError("{0}: invalid #python".format(self._urlpath)) from e - klass = ErrorPage if self._header.errors else Page + klass = ErrorPage if self._header.errors is not None else Page # Give 'em a default code-behind if they don't furnish one pytime = self._gettime(pypath) if not pytime: