Newer
Older
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import logging
API_URLS = {
"users": "/rest/users/",
"groups": "/rest/groups/",
"owners": "/rest/owners/",
"channels": "/rest/channels/",
"themes": "/rest/themes/",
"types": "/rest/types/",
"discipline": "/rest/discipline/",
"videos": "/rest/videos/",
"renditions": "/rest/renditions/",
"encodings_video": "/rest/encodings_video/",
"encodings_audio": "/rest/encodings_audio/",
"playlist_videos": "/rest/playlist_videos/",
"contributors": "/rest/contributors/",
"documents": "/rest/documents/",
"tracks": "/rest/tracks/",
"overlays": "/rest/overlays/",
"chapters": "/rest/chapters/",
"recording": "/rest/recording/",
"recordingfile": "/rest/recordingfile/",
"folders": "/rest/folders/",
"files": "/rest/files/",
"images": "/rest/images/",
"enrichments": "/rest/enrichments/",
"buildings": "/rest/buildings/",
"broadcasters": "/rest/broadcasters/"
}
class Resource:
host_url = ''
name = ''
def __init__(self, host_url, resource_name):
self.host_url = host_url
if not self.host_url:
raise Exception('Pod host url required')
self.name = resource_name
if not API_URLS.get(self.name):
raise Exception('Resource url not supported')
def _do(self, method='GET', params={}, data={}, **request_params):
url = API_URLS[self.name]
try:
response = requests.request(method, url, params, data, request_params)
except (requests.RequestException,
requests.ConnectionError,
requests.HTTPError,
requests.URLRequired,
requests.TooManyRedirectsas) as e:
logging.error(e)
return
return response
def get(self, data=None, **request_params):
return self._do('GET', params=data, request_params=request_params)
def post(self, data=None, **request_params):
return self._do('GET', data=data, request_params=request_params)
def put(self, data=None, **request_params):
return self._do('GET', data=data, request_params=request_params)
def patch(self, data=None, **request_params):
return self._do('GET', data=data, request_params=request_params)
def delete(self, data=None, **request_params):
return self._do('GET', data=data, request_params=request_params)