|
7 | 7 | from plexapi.base import PlexObject |
8 | 8 | from plexapi.client import PlexClient |
9 | 9 | from plexapi.compat import ElementTree, urlencode |
10 | | -from plexapi.exceptions import BadRequest, NotFound |
| 10 | +from plexapi.exceptions import BadRequest, NotFound, Unauthorized |
11 | 11 | from plexapi.library import Library, Hub |
12 | 12 | from plexapi.settings import Settings |
13 | 13 | from plexapi.playlist import Playlist |
@@ -398,8 +398,11 @@ def query(self, key, method=None, headers=None, timeout=None, **kwargs): |
398 | 398 | if response.status_code not in (200, 201): |
399 | 399 | codename = codes.get(response.status_code)[0] |
400 | 400 | errtext = response.text.replace('\n', ' ') |
401 | | - log.warning('BadRequest (%s) %s %s; %s' % (response.status_code, codename, response.url, errtext)) |
402 | | - raise BadRequest('(%s) %s; %s %s' % (response.status_code, codename, response.url, errtext)) |
| 401 | + message = '(%s) %s; %s %s' % (response.status_code, codename, response.url, errtext) |
| 402 | + if response.status_code == 401: |
| 403 | + raise Unauthorized(message) |
| 404 | + else: |
| 405 | + raise BadRequest(message) |
403 | 406 | data = response.text.encode('utf8') |
404 | 407 | return ElementTree.fromstring(data) if data.strip() else None |
405 | 408 |
|
|
0 commit comments