Skip to content

Commit c44f9be

Browse files
committed
Format source with black
1 parent f59fa8e commit c44f9be

17 files changed

+406
-352
lines changed

cachetclient/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from cachetclient.client import Client # noqa
22

3-
___version__ = '4.0.0'
3+
___version__ = "4.0.0"

cachetclient/base.py

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
class Resource:
88
"""Bag of attributes"""
9+
910
def __init__(self, manager, data):
1011
"""Resource initializer.
1112
@@ -47,11 +48,11 @@ def update(self):
4748
Returns:
4849
The updated resource from the server
4950
"""
50-
return self._manager.update(self.get('id'), **self.attrs)
51+
return self._manager.update(self.get("id"), **self.attrs)
5152

5253
def delete(self) -> None:
5354
"""Deletes the resource from the server"""
54-
self._manager.delete(self.get('id'))
55+
self._manager.delete(self.get("id"))
5556

5657
def __repr__(self) -> str:
5758
return str(self)
@@ -64,6 +65,7 @@ class Manager:
6465
"""
6566
Base class for handling crud resources
6667
"""
68+
6769
resource_class = Resource
6870
path = None # Type: str
6971

@@ -76,10 +78,12 @@ def __init__(self, http_client: HttpClient):
7678
self._http = http_client
7779

7880
if self.resource_class is None:
79-
raise ValueError('resource_class not defined in class {}'.format(self.__class__))
81+
raise ValueError(
82+
"resource_class not defined in class {}".format(self.__class__)
83+
)
8084

8185
if self.path is None:
82-
raise ValueError('path not defined for class {}'.format(self.__class__))
86+
raise ValueError("path not defined for class {}".format(self.__class__))
8387

8488
def instance_from_dict(self, data: dict) -> Resource:
8589
"""Creates a resource instance from a dictionary.
@@ -128,13 +132,15 @@ def instance_list_from_json(self, data: str) -> List[Resource]:
128132
"""
129133
instances = json.loads(data)
130134
if not isinstance(instances, list):
131-
raise ValueError("json data is {}, not a list : {}".format(type(instances), instances))
135+
raise ValueError(
136+
"json data is {}, not a list : {}".format(type(instances), instances)
137+
)
132138

133139
return [self.resource_class(self, inst) for inst in instances]
134140

135141
def _create(self, path: str, data: dict):
136142
response = self._http.post(path, data=data)
137-
return self.resource_class(self, response.json()['data'])
143+
return self.resource_class(self, response.json()["data"])
138144

139145
def _update(self, path: str, resource_id: int, data: dict) -> Resource:
140146
"""Generic resource updater
@@ -148,9 +154,11 @@ def _update(self, path: str, resource_id: int, data: dict) -> Resource:
148154
Resource: The updated resource from the server
149155
"""
150156
response = self._http.put("{}/{}".format(path, resource_id), data=data)
151-
return self.resource_class(self, response.json()['data'])
157+
return self.resource_class(self, response.json()["data"])
152158

153-
def _list_paginated(self, path: str, page=1, per_page=20) -> Generator[Resource, None, None]:
159+
def _list_paginated(
160+
self, path: str, page=1, per_page=20
161+
) -> Generator[Resource, None, None]:
154162
"""List resources paginated.
155163
156164
Args:
@@ -167,19 +175,19 @@ def _list_paginated(self, path: str, page=1, per_page=20) -> Generator[Resource,
167175
result = self._http.get(
168176
path,
169177
params={
170-
'page': page,
171-
'per_page': per_page,
178+
"page": page,
179+
"per_page": per_page,
172180
},
173181
)
174182
json_data = result.json()
175183

176-
meta = json_data['meta']
177-
data = json_data['data']
184+
meta = json_data["meta"]
185+
data = json_data["data"]
178186

179187
for entry in data:
180188
yield self.resource_class(self, entry)
181189

182-
if page >= meta['pagination']['total_pages']:
190+
if page >= meta["pagination"]["total_pages"]:
183191
break
184192

185193
page += 1
@@ -201,7 +209,7 @@ def _get(self, path: str, resource_id: int):
201209
"""
202210
result = self._http.get("{}/{}".format(path, resource_id))
203211
json_data = result.json()
204-
return self.resource_class(self, json_data['data'])
212+
return self.resource_class(self, json_data["data"])
205213

206214
def _count(self, path: str) -> int:
207215
"""Generic count method
@@ -213,9 +221,9 @@ def _count(self, path: str) -> int:
213221
Returns:
214222
int: Number of resources
215223
"""
216-
result = self._http.get(path, params={'per_page': 1})
224+
result = self._http.get(path, params={"per_page": 1})
217225
json_data = result.json()
218-
return json_data['meta']['pagination']['total']
226+
return json_data["meta"]["pagination"]["total"]
219227

220228
def _delete(self, path: str, resource_id: int) -> None:
221229
"""Generic resource deleter

cachetclient/client.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55

66

77
def Client(
8-
endpoint: str = None,
9-
api_token: str = None,
10-
version: str = None,
11-
verify_tls: bool = True) -> v1.Client:
8+
endpoint: str = None,
9+
api_token: str = None,
10+
version: str = None,
11+
verify_tls: bool = True,
12+
) -> v1.Client:
1213
"""
1314
Creates a cachet client. Use this fuction to create clients to ensure
1415
compatibility in the future.
@@ -22,7 +23,7 @@ def Client(
2223
verify_tls (bool): Enable/disable tls verify. When using self signed certificates this has to be ``False``.
2324
"""
2425
if not api_token:
25-
api_token = os.environ.get('CACHET_API_TOKEN')
26+
api_token = os.environ.get("CACHET_API_TOKEN")
2627

2728
if not api_token:
2829
raise ValueError(
@@ -32,7 +33,7 @@ def Client(
3233
)
3334

3435
if not endpoint:
35-
endpoint = os.environ.get('CACHET_ENDPOINT')
36+
endpoint = os.environ.get("CACHET_ENDPOINT")
3637

3738
if not endpoint:
3839
raise ValueError(
@@ -52,8 +53,8 @@ def detect_version(endpoint: str) -> str:
5253
Detect the api version from endpoint url.
5354
Currently cachet only has a single "v1" endpoint but this may change in the future.
5455
"""
55-
if endpoint.endswith('/v1'):
56-
return '1'
56+
if endpoint.endswith("/v1"):
57+
return "1"
5758

5859
raise ValueError(
5960
"Cannot determine api version based on endpoint '{}'. "

cachetclient/httpclient.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,43 @@
77

88

99
class HttpClient:
10-
1110
def __init__(
12-
self, base_url: str,
13-
api_token: str,
14-
timeout: float = None,
15-
verify_tls: bool = True,
16-
user_agent: str = None):
11+
self,
12+
base_url: str,
13+
api_token: str,
14+
timeout: float = None,
15+
verify_tls: bool = True,
16+
user_agent: str = None,
17+
):
1718

1819
self.base_url = base_url
19-
if not self.base_url.endswith('/'):
20-
self.base_url += '/'
20+
if not self.base_url.endswith("/"):
21+
self.base_url += "/"
2122
self.verify_tls = verify_tls
2223
self.timeout = timeout
2324
self.user_agent = user_agent
2425

2526
self._session = requests.Session()
26-
self._session.headers.update({
27-
'X-Cachet-Token': api_token,
28-
'User-Agent': user_agent,
29-
'Accept': 'application/json',
30-
'Content-Type': 'application/json',
31-
})
27+
self._session.headers.update(
28+
{
29+
"X-Cachet-Token": api_token,
30+
"User-Agent": user_agent,
31+
"Accept": "application/json",
32+
"Content-Type": "application/json",
33+
}
34+
)
3235

3336
def get(self, path, params=None) -> requests.Response:
34-
return self.request('GET', path, params=params)
37+
return self.request("GET", path, params=params)
3538

3639
def post(self, path, data) -> requests.Response:
37-
return self.request('POST', path, data=data)
40+
return self.request("POST", path, data=data)
3841

3942
def put(self, path, data) -> requests.Response:
40-
return self.request('PUT', path, data=data)
43+
return self.request("PUT", path, data=data)
4144

4245
def delete(self, path, resource_id) -> requests.Response:
43-
return self.request('DELETE', "{}/{}".format(path, resource_id))
46+
return self.request("DELETE", "{}/{}".format(path, resource_id))
4447

4548
def request(self, method, path, params=None, data=None) -> requests.Response:
4649
url = urljoin(self.base_url, path)
@@ -52,7 +55,7 @@ def request(self, method, path, params=None, data=None) -> requests.Response:
5255
verify=self.verify_tls,
5356
timeout=self.timeout,
5457
)
55-
logger.debug('%s %s', method, response.url)
58+
logger.debug("%s %s", method, response.url)
5659
if response.ok:
5760
return response
5861

cachetclient/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ def to_datetime(timestamp: str):
2020

2121
try:
2222
# '2019-05-24 09:26:22'
23-
return datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S')
23+
return datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
2424
except ValueError:
2525
pass
2626

2727
try:
2828
# 'Friday 1st May 2019 10:01:44'. Used in verified_at for subscribers
2929
sub_timestamp = re.sub(r"\b([0123]?[0-9])(st|th|nd|rd)\b", r"\1", timestamp)
30-
return datetime.strptime(sub_timestamp, '%A %d %B %Y %H:%M:%S')
30+
return datetime.strptime(sub_timestamp, "%A %d %B %Y %H:%M:%S")
3131
except ValueError:
3232
pass
3333

cachetclient/v1/client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313

1414
class Client:
15-
1615
def __init__(self, http_client: HttpClient):
1716
"""
1817
Args:

0 commit comments

Comments
 (0)