Clarify log IceTV message when IceTV server can't be reached

Issue #486 resolved
prl created an issue

This is a request from Dave at IceTV.

Once the IceTV startup wizard has run, the only error message that is generated from the inability to contact the IceTV server in methods like EPGFetcher.getChannels(), getShows() and getTimers() is the generic error popup "IceTV update completed with errors. Please check the log for details." if the fetch was initiated manuallu, and a log message like:

Can not retrieve channel map: HTTPConnectionPool(host='api.icetv.com.au", port=80): Max retries exceeded with url: /regions/2/channels?api_key=9019fa88-bd0c-4b1b-94ac-6761aa6a664f&application_version=20150925 (Caused by <class soclet.gaierror>: [Errno -2] Name or service not known)

The actual error is most likely the failure of the DNS lookup on the host parameter, with the lookup error indicated slightly cryptically as "Name or service not known".

It is suggested that:

  • Error text saying something like "The IceTV server can not be reached. Try checking the Internet connection on your Beyonwiz Tx" is added as a prefix to the exception message if the exception indicates that the error is due to is a connectivity problem.

  • That EPGFetcher.doWork() calls API.isServerReachable() near the start of doWork(), and logs that same message if isServerReachable() returns False and then returns False itself to indicate failure. This would avoid the above exception error in most cases.

Comments (2)

  1. Peter Urbanec

    Fix issue #486: Clarify log IceTV message when IceTV server can't be reached

    If a server fetch error causes a ConnectionError exception, print the more helpful error message as well as the exception text.

    Update the plugin version string to "20151012".

    → <<cset 1cd95aa1f428>>

  2. Log in to comment