diff --git a/web_db/web_db/web_db/__init__.py b/web_db/web_db/web_db/__init__.py index e50cb25..c0dfa33 100644 --- a/web_db/web_db/web_db/__init__.py +++ b/web_db/web_db/web_db/__init__.py @@ -12,20 +12,25 @@ except ImportError: # for python 3 from urllib.parse import urlparse + # JSON RENDERERS def datetime_adapter(obj, request): + """Adapt the datetime for json.""" return obj.strftime("%Y-%m-%d %H:%M:%S.%fZ") def objectId_adapter(obj, request): + """Adapt the objectId for json.""" return str(obj) def date_adapter(obj, request): + """Adapt the date for json.""" return obj.strftime("%Y-%m-%d") def pagination_adapter(obj, request): + """Adapt the pagination for json.""" p = { 'page': obj.page, 'per_page': obj.per_page, @@ -33,10 +38,6 @@ def pagination_adapter(obj, request): } return p -def devices_include(config): - config.add_route("devices.collection", "/") - config.add_route("devices.single", "/{device_address}") - def main(global_config, **settings): """Make a Pyramid WSGI application.""" diff --git a/web_db/web_db/web_db/devices.py b/web_db/web_db/web_db/devices.py index b9694c1..64cd0fe 100644 --- a/web_db/web_db/web_db/devices.py +++ b/web_db/web_db/web_db/devices.py @@ -64,7 +64,7 @@ enable_tag = { @view_config(route_name="devices.single.tags.collection", renderer="prettyjson", request_method="GET") def get_devicetags(request): """Retrieve a single device by its address.""" - devices = request.db['data'].find({'address': request.matchdict['address']}, {"address": 1, "device_type": 1, "tags": 1}) + devices = request.db['data'].find({'address': request.matchdict['address']}, {"address": 1, "device_type": 1, "tag_types": 1}) return {"devices": list(devices)} diff --git a/web_db/web_db/web_db/tags.py b/web_db/web_db/web_db/tags.py index 121fc58..7ed4cc2 100644 --- a/web_db/web_db/web_db/tags.py +++ b/web_db/web_db/web_db/tags.py @@ -1,2 +1,8 @@ """Handle all tag-relation functions.""" from pyramid.view import view_config + + +@view_config(route_name="values.collection", renderer="prettyjson", request_method="GET") +def get_valuescollection(request): + """Get tag values for all tags for the given device.""" + tag = request.db['data'].find({'address': request.matchdict['address']}, {"address": 1, "device_type": 1, "tag_types": 1})