refactor(api-client): improve exception handling
This commit is contained in:
parent
d1faa4bf3d
commit
313898137c
|
@ -1,7 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
import traceback
|
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
@ -89,8 +88,8 @@ class ApiClient:
|
||||||
def __get_api_version(self):
|
def __get_api_version(self):
|
||||||
try:
|
try:
|
||||||
return self.services.version_url()["api_version"]
|
return self.services.version_url()["api_version"]
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
def is_server_compatible(self, verbose=True):
|
def is_server_compatible(self, verbose=True):
|
||||||
|
@ -118,8 +117,8 @@ class ApiClient:
|
||||||
def notify_liquidsoap_started(self):
|
def notify_liquidsoap_started(self):
|
||||||
try:
|
try:
|
||||||
self.services.notify_liquidsoap_started()
|
self.services.notify_liquidsoap_started()
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
|
|
||||||
def notify_media_item_start_playing(self, media_id):
|
def notify_media_item_start_playing(self, media_id):
|
||||||
"""
|
"""
|
||||||
|
@ -129,15 +128,15 @@ class ApiClient:
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
return self.services.update_start_playing_url(media_id=media_id)
|
return self.services.update_start_playing_url(media_id=media_id)
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_shows_to_record(self):
|
def get_shows_to_record(self):
|
||||||
try:
|
try:
|
||||||
return self.services.show_schedule_url()
|
return self.services.show_schedule_url()
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def upload_recorded_show(self, files, show_id):
|
def upload_recorded_show(self, files, show_id):
|
||||||
|
@ -186,12 +185,13 @@ class ApiClient:
|
||||||
|
|
||||||
except requests.exceptions.HTTPError as exception:
|
except requests.exceptions.HTTPError as exception:
|
||||||
logger.error(f"Http error code: {exception.response.status_code}")
|
logger.error(f"Http error code: {exception.response.status_code}")
|
||||||
logger.error("traceback: %s", traceback.format_exc())
|
logger.exception(exception)
|
||||||
except requests.exceptions.ConnectionError as e:
|
|
||||||
logger.error("Server is down: %s", e.args)
|
except requests.exceptions.ConnectionError as exception:
|
||||||
logger.error("traceback: %s", traceback.format_exc())
|
logger.exception(f"Server is down: {exception}")
|
||||||
except Exception as e:
|
|
||||||
self.logger.exception(e)
|
except Exception as exception:
|
||||||
|
self.logger.exception(exception)
|
||||||
|
|
||||||
# wait some time before next retry
|
# wait some time before next retry
|
||||||
time.sleep(retries_wait)
|
time.sleep(retries_wait)
|
||||||
|
@ -203,8 +203,8 @@ class ApiClient:
|
||||||
return self.services.check_live_stream_auth(
|
return self.services.check_live_stream_auth(
|
||||||
username=username, password=password, djtype=dj_type
|
username=username, password=password, djtype=dj_type
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def construct_rest_url(self, action_key):
|
def construct_rest_url(self, action_key):
|
||||||
|
@ -240,16 +240,16 @@ class ApiClient:
|
||||||
stream_id=stream_id,
|
stream_id=stream_id,
|
||||||
boot_time=time,
|
boot_time=time,
|
||||||
).retry(5)
|
).retry(5)
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
|
|
||||||
def notify_source_status(self, sourcename, status):
|
def notify_source_status(self, sourcename, status):
|
||||||
try:
|
try:
|
||||||
return self.services.update_source_status.req(
|
return self.services.update_source_status.req(
|
||||||
sourcename=sourcename, status=status
|
sourcename=sourcename, status=status
|
||||||
).retry(5)
|
).retry(5)
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
|
|
||||||
def get_bootstrap_info(self):
|
def get_bootstrap_info(self):
|
||||||
"""
|
"""
|
||||||
|
@ -286,8 +286,8 @@ class ApiClient:
|
||||||
_post_data={"data": json.dumps(data)}
|
_post_data={"data": json.dumps(data)}
|
||||||
)
|
)
|
||||||
return response
|
return response
|
||||||
except Exception as e:
|
except Exception as exception:
|
||||||
self.logger.exception(e)
|
self.logger.exception(exception)
|
||||||
|
|
||||||
def update_metadata_on_tunein(self):
|
def update_metadata_on_tunein(self):
|
||||||
self.services.update_metadata_on_tunein()
|
self.services.update_metadata_on_tunein()
|
||||||
|
|
Loading…
Reference in New Issue