|
5 | 5 | from common import utils
|
6 | 6 |
|
7 | 7 | class JellystatAPI:
|
8 |
| - def __init__(self, url: str, api_key: str, logger: Logger): |
9 |
| - self.url = url.rstrip('/') |
| 8 | + def __init__( |
| 9 | + self, |
| 10 | + url: str, |
| 11 | + api_key: str, |
| 12 | + logger: Logger |
| 13 | + ): |
| 14 | + self.url = url.rstrip("/") |
10 | 15 | self.api_key = api_key
|
11 | 16 | self.logger = logger
|
12 | 17 | self.invalid_type = None
|
13 |
| - self.log_header = utils.get_log_header(utils.get_jellystat_ansi_code(), self.__module__) |
| 18 | + self.log_header = utils.get_log_header( |
| 19 | + utils.get_jellystat_ansi_code(), |
| 20 | + self.__module__ |
| 21 | + ) |
14 | 22 |
|
15 | 23 | def get_valid(self) -> bool:
|
16 | 24 | try:
|
17 | 25 | payload = {}
|
18 |
| - r = requests.get(self.get_api_url() + '/getconfig', headers=self.get_headers(), params=payload) |
| 26 | + r = requests.get( |
| 27 | + self.get_api_url() + "/getconfig", |
| 28 | + headers=self.get_headers(), |
| 29 | + params=payload |
| 30 | + ) |
19 | 31 | if r.status_code < 300:
|
20 | 32 | return True
|
21 | 33 | except Exception as e:
|
22 | 34 | pass
|
23 | 35 | return False
|
24 | 36 |
|
25 | 37 | def get_connection_error_log(self) -> str:
|
26 |
| - return 'Could not connect to {} {} {}'.format(utils.get_formatted_jellystat(), utils.get_tag('url', self.url), utils.get_tag('api_key', self.api_key)) |
| 38 | + return f"Could not connect to {utils.get_formatted_jellystat()} {utils.get_tag("url", self.url)} {utils.get_tag("api_key", self.api_key)}" |
27 | 39 |
|
28 | 40 | def get_invalid_type(self) -> Any:
|
29 | 41 | return self.invalid_type
|
30 | 42 |
|
31 | 43 | def get_api_url(self) -> str:
|
32 |
| - return self.url + '/api' |
| 44 | + return self.url + "/api" |
33 | 45 |
|
34 | 46 | def get_headers(self) -> Any:
|
35 |
| - return {'x-api-token': self.api_key, |
| 47 | + return {"x-api-token": self.api_key, |
36 | 48 | "Content-Type": "application/json"}
|
37 | 49 |
|
38 | 50 | def get_library_id(self, libName: str) -> str:
|
39 | 51 | try:
|
40 | 52 | payload = {}
|
41 |
| - r = requests.get(self.get_api_url() + '/getLibraries', headers=self.get_headers(), params=payload) |
| 53 | + r = requests.get( |
| 54 | + self.get_api_url() + "/getLibraries", |
| 55 | + headers=self.get_headers(), |
| 56 | + params=payload |
| 57 | + ) |
42 | 58 | response = r.json()
|
43 | 59 | for lib in response:
|
44 |
| - if lib['Name'] == libName: |
45 |
| - return lib['Id'] |
| 60 | + if lib["Name"] == libName: |
| 61 | + return lib["Id"] |
46 | 62 | except Exception as e:
|
47 |
| - self.logger.error("{} get_library_id {} {}".format(self.log_header, utils.get_tag('library_id', libName), utils.get_tag('error', e))) |
| 63 | + self.logger.error( |
| 64 | + f"{self.log_header} get_library_id {utils.get_tag("library_id", libName)} {utils.get_tag("error", e)}" |
| 65 | + ) |
48 | 66 |
|
49 | 67 | return self.get_invalid_type()
|
50 | 68 |
|
51 | 69 | def get_user_watch_history(self, userId: str) -> Any:
|
52 | 70 | try:
|
53 | 71 | payload = {
|
54 |
| - 'userid': userId} |
55 |
| - r = requests.post(self.get_api_url() + '/getUserHistory', headers=self.get_headers(), data=json.dumps(payload)) |
| 72 | + "userid": userId} |
| 73 | + r = requests.post( |
| 74 | + self.get_api_url() + "/getUserHistory", |
| 75 | + headers=self.get_headers(), |
| 76 | + data=json.dumps(payload) |
| 77 | + ) |
56 | 78 |
|
57 | 79 | response = r.json()
|
58 |
| - if 'results' in response: |
59 |
| - return response['results'] |
| 80 | + if "results" in response: |
| 81 | + return response["results"] |
60 | 82 | else:
|
61 | 83 | return response
|
62 | 84 | except Exception as e:
|
63 |
| - self.logger.error("{} get_user_watch_history {} {}".format(self.log_header, utils.get_tag('user_id', userId), utils.get_tag('error', e))) |
| 85 | + self.logger.error( |
| 86 | + f"{self.log_header} get_user_watch_history {utils.get_tag("user_id", userId)} {utils.get_tag("error", e)}" |
| 87 | + ) |
64 | 88 |
|
65 | 89 | return self.get_invalid_type()
|
66 | 90 |
|
67 | 91 | def get_library_history(self, libId: str) -> Any:
|
68 | 92 | try:
|
69 | 93 | payload = {
|
70 |
| - 'libraryid': libId} |
71 |
| - r = requests.post(self.get_api_url() + '/getLibraryHistory', headers=self.get_headers(), data=json.dumps(payload)) |
| 94 | + "libraryid": libId} |
| 95 | + r = requests.post( |
| 96 | + self.get_api_url() + "/getLibraryHistory", |
| 97 | + headers=self.get_headers(), |
| 98 | + data=json.dumps(payload) |
| 99 | + ) |
72 | 100 |
|
73 | 101 | response = r.json()
|
74 |
| - if 'results' in response: |
75 |
| - return response['results'] |
| 102 | + if "results" in response: |
| 103 | + return response["results"] |
76 | 104 | else:
|
77 | 105 | return response
|
78 | 106 | except Exception as e:
|
79 |
| - self.logger.error("{} get_library_history {} {}".format(self.log_header, utils.get_tag('lib_id', libId), utils.get_tag('error', e))) |
| 107 | + self.logger.error( |
| 108 | + f"{self.log_header} get_library_history {utils.get_tag("lib_id", libId)} {utils.get_tag("error", e)}" |
| 109 | + ) |
80 | 110 |
|
81 | 111 | return self.get_invalid_type()
|
82 | 112 |
|
83 | 113 | def get_item_details(self, itemId: str) -> Any:
|
84 | 114 | try:
|
85 |
| - payload = {'Id': itemId} |
86 |
| - r = requests.post(self.get_api_url() + '/getItemDetails', headers=self.get_headers(), data=json.dumps(payload)) |
| 115 | + payload = {"Id": itemId} |
| 116 | + r = requests.post( |
| 117 | + self.get_api_url() + "/getItemDetails", |
| 118 | + headers=self.get_headers(), |
| 119 | + data=json.dumps(payload) |
| 120 | + ) |
87 | 121 | return r.json()
|
88 | 122 | except Exception as e:
|
89 |
| - self.logger.error("{} get_item_details {} {}".format(self.log_header, utils.get_tag('item', itemId), utils.get_tag('error', e))) |
| 123 | + self.logger.error( |
| 124 | + f"{self.log_header} get_item_details {utils.get_tag("item", itemId)} {utils.get_tag("error", e)}" |
| 125 | + ) |
90 | 126 |
|
91 | 127 | return self.get_invalid_type()
|
0 commit comments