|
6 | 6 | from __future__ import absolute_import, division, unicode_literals |
7 | 7 |
|
8 | 8 | try: # Python 3 |
| 9 | + from urllib.error import HTTPError |
9 | 10 | from urllib.parse import unquote |
10 | | - from urllib.request import build_opener, install_opener, ProxyHandler, Request, urlopen |
| 11 | + from urllib.request import build_opener, install_opener, ProxyHandler |
11 | 12 | except ImportError: # Python 2 |
12 | | - from urllib2 import build_opener, install_opener, ProxyHandler, Request, unquote, urlopen |
| 13 | + from urllib2 import build_opener, HTTPError, install_opener, ProxyHandler, unquote |
13 | 14 |
|
14 | 15 | from kodiutils import (container_refresh, get_cache, get_proxies, get_setting, get_url_json, |
15 | 16 | has_credentials, input_down, invalidate_caches, localize, log, log_error, |
@@ -76,10 +77,10 @@ def update(self, program, title, value=True): |
76 | 77 | data = dumps(payload).encode('utf-8') |
77 | 78 | program_id = self.program_to_id(program) |
78 | 79 | log(2, 'URL post: https://video-user-data.vrt.be/favorites/{program_id}', program_id=program_id) |
79 | | - req = Request('https://video-user-data.vrt.be/favorites/%s' % program_id, data=data, headers=headers) |
80 | | - result = urlopen(req) |
81 | | - if result.getcode() != 200: |
82 | | - log_error("Failed to (un)follow program '{program}' at VRT NU", program=program) |
| 80 | + try: |
| 81 | + get_url_json('https://video-user-data.vrt.be/favorites/%s' % program_id, headers=headers, data=data) |
| 82 | + except HTTPError as exc: |
| 83 | + log_error("Failed to (un)follow program '{program}' at VRT NU ({error})", program=program, error=exc) |
83 | 84 | notification(message=localize(30976, program=program)) |
84 | 85 | return False |
85 | 86 | # NOTE: Updates to favorites take a longer time to take effect, so we keep our own cache and use it |
|
0 commit comments