RESTful API¶
-
controllers.rest.
CORS_ALLOWED_CLIENT_HEADERS
= ['Content-Type']¶ CORS - HTTP headers the client may use
-
controllers.rest.
CORS_ALLOWED_METHODS_DEFAULT
= ['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS']¶ CORS - HTTP methods the client may use
-
controllers.rest.
CORS_DEFAULT
= {'Access-Control-Allow-Credentials': 'true', 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,OPTIONS', 'Access-Control-Allow-Origin': '*', 'Access-Control-Max-Age': '86400'}¶ CORS - HTTP headers the server will send as part of OPTIONS response
-
controllers.rest.
CORS_DEFAULT_ALLOW_ORIGIN
= '*'¶ CORS - default origin header value
-
class
controllers.rest.
RESTControllerSkeleton
(*args, **kwargs)[source]¶ Skeleton implementation of a RESTful contoller class.
-
error_response
(request, response_code=None, **kwargs)[source]¶ Create and return an HTTP error response with data as JSON.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- response_code – HTTP Status Code (default is 500)
- **kwargs – additional key/value pairs
Returns: JSON encoded data with appropriate HTTP headers
-
render_GET
(request)[source]¶ HTTP GET implementation.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
render_OPTIONS
(request)[source]¶ Render response for an HTTP OPTIONS request.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
render_POST
(request)[source]¶ HTTP POST implementation.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
-
controllers.rest.
json_response
(request, data, indent=1)[source]¶ Create a JSON representation for data and set HTTP headers indicating that JSON encoded data is returned.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- data – response content
- indent – indentation level or None
Returns: JSON representation of data with appropriate HTTP headers
RESTful API access using HTTP¶
This controller exposes the application programming interface (API) as
implemented by the controllers.web
and controllers.ajax
controllers.
The generated responses are returned as JSON data with appropriate HTTP headers. Output will be compressed using gzip if requested by client.
A swagger v2 (https://swagger.io/) compatible API specification will be returned when accessing the /api/ endpoint. The API specification is consumable e.g. by a Swagger UI (https://swagger.io/swagger-ui/) instance.
-
controllers.rest_api_controller.
OWIF_PREFIX
= 'P_'¶ prefix for OpenWebif controller methods
-
controllers.rest_api_controller.
SWAGGER_TEMPLATE
= '/home/travis/build/doubleO8/e2openplugin-OpenWebif/pert_belly_hack-backend/plugin/controllers/swagger.json'¶ OpenAPI specification source (swagger.json)
Recordings¶
Listing of recordings on current device. Removing of recordings files including meta data.
-
class
controllers.rest_recordings_controller.
RESTRecordingsController
(*args, **kwargs)[source]¶ RESTful Controller for
/recordings
endpoint.-
remove
(request, target_path)[source]¶ Remove movie file including meta data files.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- target_path (basestring) – Movie item to remove
Returns: HTTP response with headers
-
render_DELETE
(request)[source]¶ HTTP DELETE request handler deleting a movie item
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
DELETE
/recordings/{basestring:path}
¶ Status Codes: - 200 OK – no error
- 404 Not Found – not found
-
-
render_GET
(request)[source]¶ HTTP GET request handler returning list of movies
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
GET
/recordings/{basestring:path}
¶ Status Codes: - 200 OK – no error
- 301 Moved Permanently – redirect
- 404 Not Found – not found
-
GET
/recording/{basestring:path}
¶ Status Codes: - 200 OK – no error
- 404 Not Found – not found
-
-
render_path_listing
(request, root_path)[source]¶ Generate a list of movie items available on current device.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- root_path (basestring) – Movie item to remove
Returns: HTTP response with headers
-
Timer Items¶
Listing of timer items on current device. (Removing of timer items, Altering of timer items)
-
class
controllers.rest_timer_controller.
RESTTimerController
(*args, **kwargs)[source]¶ RESTful Controller for
/timers
endpoint.-
GET
/timers/
¶ Status Codes: - 200 OK – no error
- 400 Bad Request – invalid
-
GET
/timers/{basestring:service_reference}/
¶ Status Codes: - 200 OK – no error
- 400 Bad Request – invalid
-
GET
/timers/{basestring:service_reference}/{int:timer_id}/
¶ Status Codes: - 200 OK – no error
- 400 Bad Request – invalid
- 404 Not Found – not found
-
render_DELETE
(request)[source]¶ HTTP DELETE implementation for removing a timer.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
DELETE
/timers/{basestring:service_reference}/{int:timer_id}/
¶ Status Codes: - 200 OK – no error
- 400 Bad Request – invalid
- 404 Not Found – not found
-
-
render_list_all
(request)[source]¶ List all timers
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
render_list_item
(request, service_reference, item_id)[source]¶ List timer data for specific timer of service.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- service_reference (basestring) – Service reference string
- item_id (int) – Timer ID
Returns: HTTP response with headers
-
render_list_subset
(request, service_reference)[source]¶ List timers for specific service.
Parameters: - request (twisted.web.server.Request) – HTTP request object
- service_reference (basestring) – Service reference string
Returns: HTTP response with headers
-
Current Event Data¶
Retrieve current event data.
-
class
controllers.rest_current_event_controller.
RESTCurrentEventController
(*args, **kwargs)[source]¶ RESTful Controller for
/current_event
endpoint.-
GET
/current_event
¶ Status Codes: - 200 OK – no error
- 503 Service Unavailable – no currently playing service
-
GET
/current_event/{basestring:service_reference}/
¶ Status Codes: - 200 OK – no error
- 503 Service Unavailable – no data
-
render_list_all
(request)[source]¶ Return event data for currently playing service.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
render_list_item
(request, service_reference, item_id)[source]¶ Currently not supported.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
render_list_subset
(request, service_reference)[source]¶ Return event data for specific service (if available).
Parameters: - request (twisted.web.server.Request) – HTTP request object
- service_reference (basestring) – Service reference string
Returns: HTTP response with headers
-
RESTful Controller for /api/saveconfig
endpoint.
POST requests are proxied through
controllers.web.WebController.P_saveconfig()
.
MISSING:
- sane implementation of POST request handling
- extend OpenAPI specification in swagger.json
-
class
controllers.rest_saveconfig_api.
SaveConfigApiController
(*args, **kwargs)[source]¶ RESTful Controller for
/api/saveconfig
endpoint.-
render_GET
(request)[source]¶ HTTP GET implementation.
Parameters: request ( twisted.web.server.Request
) – HTTP request objectReturns: HTTP response with headers -
GET
/api/saveconfig
¶
-
-
render_POST
(request)[source]¶ HTTP POST implementation.
Parameters: request ( twisted.web.server.Request
) – HTTP request objectReturns: HTTP response with headers -
POST
/api/saveconfig
¶ Query Parameters: - key (string) – configuration key
- value (string) – configuration value
-
-
web_instance
= None¶ web controller instance
-
-
class
controllers.rest_eventlookup_api.
EventLookupApiController
(*args, **kwargs)[source]¶ RESTful Controller for
/api/eventlookup
endpoint-
render_GET
(request)[source]¶ HTTP GET implementation.
See also
- querytype Parameter – Description of Parameters Related to Querytype
- flags Parameter – Possible Values of the Format Field
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
GET
/api/eventlookup
¶ Query Parameters: - service_reference (basestring) – service_reference
- begin (int) – (optional) timestamp
- minutes (int) – (optional) time range in minutes or event ID
- querytype (int) – (optional) query type
- flags (basestring) – (optional) fields to be returned
- max_rows (int) – (optional) maximum number of result rows
Status Codes: - 200 OK – no error
-
-
class
controllers.rest_eventsearch_api.
EventSearchApiController
(*args, **kwargs)[source]¶ RESTful Controller for
/api/eventsearch
endpoint-
render_GET
(request)[source]¶ HTTP GET implementation.
See also
- querytype Parameter – Description of Parameters Related to Search Querytype
- flags Parameter – Possible Values of the Format Field
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers
-
-
class
controllers.rest_services_controller.
RESTServicesController
(*args, **kwargs)[source]¶ RESTful Controller for
/services/
endpoint-
render_GET
(request)[source]¶ HTTP GET implementation.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
GET
/services/
¶ Status Codes: - 200 OK – no error
- 500 Internal Server Error – error(s)
-
GET
/services/tv
¶ Status Codes: - 200 OK – no error
- 500 Internal Server Error – error(s)
-
GET
/services/radio
¶ Status Codes: - 200 OK – no error
- 500 Internal Server Error – error(s)
-
GET
/services/
(int: service_type)¶ Status Codes: - 200 OK – no error
- 500 Internal Server Error – error(s)
-
-