Skip to content

Commit 20be7f3

Browse files
committed
added new samples code. added support JSON format. minor bugfix
1 parent 4a63a4e commit 20be7f3

17 files changed

+630
-362
lines changed

qencode/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,7 @@ def x265_video_codec():
2727
from custom_params import Libx265_VideoCodecParameters
2828
return Libx265_VideoCodecParameters()
2929

30+
from exeptions import QencodeClientException, QencodeTaskException
31+
3032

3133

qencode/client.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,39 @@ class QencodeApiClient(object):
77
:return: encoder object
88
99
"""
10-
def __init__(self, api_key, api_url=None, version=None, **kwargs):
10+
def __init__(self, api_key, api_url=None, version=None):
1111
self.api_key = api_key
1212
self.api_url = api_url if api_url else 'https://api.qencode.com/'
1313
self.version = version if version else 'v1'
1414
self.connect = Http(self.version, self.api_url)
1515
self.access_token = None
1616
self.expire = None
1717
self.error = None
18+
self.code = None
1819
self.message = ''
1920
self._get_access_token()
2021

22+
2123
def create_task(self, **kwargs):
2224
return Task(self.access_token, self.connect, **kwargs)
2325

24-
def refresh_access_token(self, **kwargs):
26+
def refresh_access_token(self):
2527
response = self.connect.request('access_token', dict(api_key=self.api_key))
2628
if not response['error']:
2729
self.access_token = response['token']
2830
self.expire = response['expire']
2931
else:
3032
self.error = response['error']
33+
self.code = response['error']
3134
self.message = response.get('message')
3235

36+
3337
def _get_access_token(self):
3438
response = self.connect.request('access_token', dict(api_key=self.api_key))
3539
if not response['error']:
3640
self.access_token = response['token']
3741
self.expire = response['expire']
3842
else:
39-
self.error = response['error']
40-
self.message = response.get('message')
43+
self.error = response['error']
44+
self.code = response['error']
45+
self.message = response.get('message')

qencode/custom_params.py

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import json
22
from json import JSONEncoder
3-
from utils import rm_key_if_null
3+
from utils import rm_attributes_if_null
44

55
class CustomTranscodingParams(object):
66
"""CustomTranscodingParams
@@ -13,10 +13,10 @@ def __init__(self):
1313
self.source = None
1414
self.format = None
1515
self.callback_url = None
16-
rm_key_if_null(self)
16+
rm_attributes_if_null(self)
1717

1818
def remove_null_params(self):
19-
rm_key_if_null(self)
19+
rm_attributes_if_null(self)
2020

2121
class Format(object):
2222
"""
@@ -45,10 +45,10 @@ def __init__(self):
4545
self.time = None
4646
self.path = None
4747
self.resize_mod = None
48-
rm_key_if_null(self)
48+
rm_attributes_if_null(self)
4949

5050
def remove_null_params(self):
51-
rm_key_if_null(self)
51+
rm_attributes_if_null(self)
5252

5353
class Destination(object):
5454
def __init__(self):
@@ -57,10 +57,10 @@ def __init__(self):
5757
self.secret = None
5858
self.permissions = None
5959
self.storage_class = None
60-
rm_key_if_null(self)
60+
rm_attributes_if_null(self)
6161

6262
def remove_null_params(self):
63-
rm_key_if_null(self)
63+
rm_attributes_if_null(self)
6464

6565
class Stream(object):
6666
def __init__(self):
@@ -84,12 +84,10 @@ def __init__(self):
8484
self.downmix_mode = None
8585
self.logo = None
8686
self.aspect_ratio = None
87-
rm_key_if_null(self)
87+
rm_attributes_if_null(self)
8888

8989
def remove_null_params(self):
90-
rm_key_if_null(self)
91-
92-
90+
rm_attributes_if_null(self)
9391

9492
class Libx264_VideoCodecParameters(object):
9593
def __init__(self):
@@ -101,10 +99,10 @@ def __init__(self):
10199
self.bf = None
102100
self.directpred = None
103101
self.me_method = None
104-
rm_key_if_null(self)
102+
rm_attributes_if_null(self)
105103

106104
def remove_null_params(self):
107-
rm_key_if_null(self)
105+
rm_attributes_if_null(self)
108106

109107
class Libx265_VideoCodecParameters(object):
110108
def __init__(self):
@@ -134,7 +132,7 @@ def prepare_params(self):
134132
def validate_params(self):
135133
if not self.params:
136134
self.error = True
137-
self.message = 'for custom start encode - params is required'
135+
self.message = 'Params is required'
138136
return
139137
if not 'source' in self.params.__dict__:
140138
self.error = True
@@ -143,20 +141,4 @@ def validate_params(self):
143141
if not 'format' in self.params.__dict__:
144142
self.error = True
145143
self.message = 'Params: format is required'
146-
return
147-
for format in self.params.format:
148-
if not 'stream' in format.__dict__:
149-
self.error = True
150-
self.message = 'Params: stream is required in the format list'
151-
return
152-
if not 'output' in format.__dict__:
153-
self.error = True
154-
self.message = 'Params: output format is required in the format list'
155-
return
156-
for stream in format.stream:
157-
if not 'size' in stream.__dict__:
158-
self.error = True
159-
self.message = 'Params: size is required in the stream list'
160-
return
161-
162-
144+
return

qencode/exeptions.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
class QencodeException(Exception):
2-
def __init__(self):
3-
pass
2+
def __init__(self, message, *args):
3+
super(QencodeException, self).__init__(message, *args)
4+
self.error = message
5+
self.arg = [i for i in args]
6+
7+
class QencodeClientException(QencodeException):
8+
def __init__(self, message, *args):
9+
super(QencodeClientException, self).__init__(message, *args)
10+
11+
12+
class QencodeTaskException(QencodeException):
13+
def __init__(self, message, *args):
14+
super(QencodeTaskException, self).__init__(message, *args)
15+
16+
17+
418

5-
class QencodeApiException(QencodeException):
6-
def __init__(self):
7-
pass

0 commit comments

Comments
 (0)