28 lines
No EOL
753 B
Python
28 lines
No EOL
753 B
Python
from openflexure_microscope.common.labthings_core.utilities import get_docstring, get_summary
|
|
from .schema import Schema, marshmallow, MARSHMALLOW_VERSION_INFO
|
|
import collections.abc
|
|
|
|
import logging
|
|
|
|
|
|
def description_from_view(view_class):
|
|
methods = []
|
|
for method_key in ["get", "post", "put", "delete"]:
|
|
if hasattr(view_class, method_key):
|
|
methods.append(method_key.upper())
|
|
summary = get_summary(view_class)
|
|
|
|
d = {"methods": methods, "description": summary}
|
|
|
|
return d
|
|
|
|
|
|
def rupdate(d, u):
|
|
for k, v in u.items():
|
|
if isinstance(v, collections.abc.Mapping):
|
|
if not k in d:
|
|
d[k] = {}
|
|
d[k] = rupdate(d.get(k, {}), v)
|
|
else:
|
|
d[k] = v
|
|
return d |