-
Notifications
You must be signed in to change notification settings - Fork 5
/
home.py
25 lines (23 loc) · 975 Bytes
/
home.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from magpie.api import api_except as ax, api_rest_schemas as s
from magpie.definitions.pyramid_definitions import NO_PERMISSION_REQUIRED, HTTPOk, view_config
from magpie.common import JSON_TYPE
from magpie.db import get_database_revision
from magpie import __meta__
@s.VersionAPI.get(tags=[s.APITag], api_security=s.SecurityEveryoneAPI, response_schemas=s.Version_GET_responses)
@view_config(route_name=s.VersionAPI.name, request_method='GET', permission=NO_PERMISSION_REQUIRED)
def get_version(request):
"""
Version information of the API.
"""
version_db = None
# noinspection PyBroadException
try:
version_db = get_database_revision(request.db)
except Exception:
pass
version = {
u'version': __meta__.__version__,
u'db_version': version_db
}
return ax.valid_http(httpSuccess=HTTPOk, content=version, contentType=JSON_TYPE,
detail=s.Version_GET_OkResponseSchema.description)