mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2025-11-10 18:36:33 +00:00
Created a REQUEST function with an explicit interface which forwards
onto the previous request interface. Refactored downloader module to use newer interface.
This commit is contained in:
parent
4d4f45cd42
commit
99eed5318a
2 changed files with 28 additions and 17 deletions
|
|
@ -41,21 +41,21 @@ def browse_info():
|
|||
)
|
||||
|
||||
|
||||
def _http(action, url, request={}, server_id=None):
|
||||
request.update({'url': url, 'type': action})
|
||||
return Jellyfin(server_id).http.request(request)
|
||||
|
||||
|
||||
def _get(handler, params=None, server_id=None):
|
||||
return _http("GET", get_jellyfinserver_url(handler), {'params': params}, server_id)
|
||||
|
||||
url = get_jellyfinserver_url(handler)
|
||||
jf = Jellyfin(server_id)
|
||||
return jf.http.REQUEST(url, "GET", params)
|
||||
|
||||
def _post(handler, json=None, params=None, server_id=None):
|
||||
return _http("POST", get_jellyfinserver_url(handler), {'params': params, 'json': json}, server_id)
|
||||
url = get_jellyfinserver_url(handler)
|
||||
jf = Jellyfin(server_id)
|
||||
return jf.http.REQUEST(url, "POST", params, json)
|
||||
|
||||
|
||||
def _delete(handler, params=None, server_id=None):
|
||||
return _http("DELETE", get_jellyfinserver_url(handler), {'params': params}, server_id)
|
||||
url = get_jellyfinserver_url(handler)
|
||||
jf = Jellyfin(server_id)
|
||||
return jf.http.REQUEST(url, "DELETE", params)
|
||||
|
||||
|
||||
def validate_view(library_id, item_id):
|
||||
|
|
@ -314,17 +314,14 @@ class GetItemWorker(threading.Thread):
|
|||
|
||||
return
|
||||
|
||||
request = {
|
||||
'type': "GET",
|
||||
'handler': "Users/{UserId}/Items",
|
||||
'params': {
|
||||
url = self.server.http.get_handler_url("Users/{UserId}/Items")
|
||||
params = {
|
||||
'Ids': ','.join(str(x) for x in item_ids),
|
||||
'Fields': api.info()
|
||||
}
|
||||
}
|
||||
|
||||
try:
|
||||
result = self.server.http.request(request, s)
|
||||
result = self.server.http.REQUEST(url, "GET", params, s)
|
||||
|
||||
for item in result['Items']:
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,20 @@ class HTTP(object):
|
|||
|
||||
return string
|
||||
|
||||
def REQUEST(self, url, type, params=None, json=None, session=None):
|
||||
request = {'url': url, 'type': type}
|
||||
if params is not None:
|
||||
request['params'] = params
|
||||
if json is not None:
|
||||
request['json'] = json
|
||||
return self.request(request, session)
|
||||
|
||||
|
||||
def get_handler_url(self, handler):
|
||||
server = self.config.data.get("auth.server", "")
|
||||
return "%s/%s" % (server, handler)
|
||||
|
||||
|
||||
def request(self, data, session=None):
|
||||
|
||||
''' Give a chance to retry the connection. Jellyfin sometimes can be slow to answer back
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue