Mercurial > p > roundup > code
view roundup/test/mocknull.py @ 8281:669dfccca898
issue2551391 - checkboxes and radiobutton inputs get wrong id's.
Actually it breaks automatic id assignment for all inputs.
Inputs now get an automatic id assignment that matches the name.
It can be overridden by supplting an id parameter in the call to
the field() method.
This is also a partial fix for issue1513369. I think it obsoletes the
changes to templating.py.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 16 Jan 2025 02:32:58 -0500 |
| parents | 617d85ce4ac3 |
| children |
line wrap: on
line source
class MockNull: def __init__(self, **kwargs): for key, value in kwargs.items(): self.__dict__[key] = value def __call__(self, *args, **kwargs): return MockNull() def __getattr__(self, name): # This allows assignments which assume all intermediate steps are Null # objects if they don't exist yet. # # For example (with just 'client' defined): # # client.db.config.TRACKER_WEB = 'BASE/' self.__dict__[name] = MockNull() return getattr(self, name) def __getitem__(self, key): return self def __bool__(self): return False # Python 2 compatibility: __nonzero__ = __bool__ def __contains__(self, key): return False def __eq__(self, rhs): return False def __ne__(self, rhs): return False def __str__(self): return '' def __repr__(self): return '<MockNull 0x%x>' % id(self) def gettext(self, string): return string _ = gettext def get(self, name, default=None): try: return self.__dict__[name.lower()] except KeyError: return default
