- @contextmanager
- def _attribute_handler(self, name):
- """
- :type name: str|dict[str, str]
- :rtype: str|dict[str, str]
- """
- if isinstance(name, dict):
- result = {
- self._to_native(key): value
- for key, value in name.items()
- }
- else:
- result = self._to_native(name)
-
- try:
- yield result
- except AttributeError: # pragma: no cover - handling is too obvious
- raise cherrypy.NotFound(result) # pragma: no cover - handling is too obvious
-
- @staticmethod
- def _to_native(setting):
- return setting.upper().replace('-', '_')
-