1111_kraken_baseurl = 'https://api.twitch.tv/kraken/'
1212_hidden_baseurl = 'https://api.twitch.tv/api/'
1313_usher_baseurl = 'https://usher.ttvnw.net/'
14+ _clips_baseurl = 'https://clips.twitch.tv/'
1415
16+ _v4_headers = {'ACCEPT' : 'application/vnd.twitchtv.v4+json' }
1517_v5_headers = {'ACCEPT' : 'application/vnd.twitchtv.v5+json' }
1618
1719
@@ -72,8 +74,8 @@ def add_urlkw(self, kw, replacement):
7274 return self
7375
7476 def __str__ (self ):
75- return '{method} Query to {url}, params {params}, data {data}, headers {headers}' . format (
76- url = self .url , params = self .params , headers = self .headers , data = self .data , method = self .method )
77+ return '{method} Query to {url}, params {params}, data {data}, headers {headers}' \
78+ . format ( url = self .url , params = self .params , headers = self .headers , data = self .data , method = self .method )
7779
7880 def execute (self , f ):
7981 try :
@@ -121,6 +123,17 @@ def __init__(self, path, headers={}, data={}, method=methods.GET):
121123 self .add_path (path )
122124
123125
126+ class ClipsQuery (DownloadQuery ):
127+ def __init__ (self , path , headers = {}, data = {}, method = methods .GET ):
128+ super (ClipsQuery , self ).__init__ (_clips_baseurl , headers , data , method )
129+ self .add_path (path )
130+
131+
132+ class V4Query (ApiQuery ):
133+ def __init__ (self , path , method = methods .GET ):
134+ super (V4Query , self ).__init__ (path , _v4_headers , method = method )
135+
136+
124137class V5Query (ApiQuery ):
125138 def __init__ (self , path , method = methods .GET ):
126139 super (V5Query , self ).__init__ (path , _v5_headers , method = method )
@@ -129,19 +142,18 @@ def __init__(self, path, method=methods.GET):
129142def assert_new (d , k ):
130143 if k in d :
131144 v = d .get (k )
132- raise ValueError ("Key '{}' already set to '{}'" .format (
133- k , v ))
145+ raise ValueError ("Key '{}' already set to '{}'" .format (k , v ))
134146
135147
136148# TODO maybe rename
137149def query (f ):
138150 def wrapper (* args , ** kwargs ):
139151 qry = f (* args , ** kwargs )
140152 if not isinstance (qry , _Query ):
141- raise ValueError ('{} did not return a Query, was: {}' .format (
142- f .__name__ , repr (qry )))
153+ raise ValueError ('{} did not return a Query, was: {}' .format (f .__name__ , repr (qry )))
143154 log .debug ('%s QUERY: url: %s, params: %s, data: %s, '
144155 'headers: %r, target_func: %r' ,
145156 qry .method , qry .url , qry .params , qry .data , qry .headers , f .__name__ )
146157 return qry .execute ()
158+
147159 return wrapper
0 commit comments