-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathclient.py
More file actions
51 lines (42 loc) · 1.63 KB
/
client.py
File metadata and controls
51 lines (42 loc) · 1.63 KB
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
from .httptools import Http
from .task import Task
from .metadata import Metadata
class Client(object):
"""
:return: encoder object
"""
def __init__(self, api_key, api_url=None, version=None):
self.api_key = api_key
self.api_url = api_url if api_url else 'https://api.qencode.com/'
self.version = version if version else 'v1'
self.connect = Http(self.version, self.api_url)
self.access_token = None
self.expire = None
self.error = None
self.code = None
self.message = ''
self._get_access_token()
def create_task(self, **kwargs):
return Task(self.access_token, self.connect, **kwargs)
def refresh_access_token(self, **kwargs):
response = self.connect.request('access_token', dict(api_key=self.api_key))
if not response['error']:
self.access_token = response['token']
self.expire = response['expire']
else:
self.error = response['error']
self.code = response['error']
self.message = response.get('message')
def _get_access_token(self):
response = self.connect.request('access_token', dict(api_key=self.api_key))
if not response['error']:
self.access_token = response['token']
self.expire = response['expire']
else:
self.error = response['error']
self.code = response['error']
self.message = response.get('message')
def get_metadata(self, uri):
metadata = Metadata(self.access_token, self.connect)
video_info = metadata.get(uri)
return video_info