Skip to content

Commit 92296aa

Browse files
committed
Add Docstrings
1 parent 16193c3 commit 92296aa

3 files changed

Lines changed: 32 additions & 5 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ vultr = Vultr('VULTR_API_KEY')
7777
List plans and get available regions for that plan
7878

7979
```python
80-
plans = vultr.list_plans({'type': 'vc2'}) # vc2 - Cloud Compute
80+
plans = vultr.list_plans({'type': 'vc2'}) # Filter by type
8181
plan = plans[0] # 0 seems to be the base plan
8282
regions = vultr.list_regions()
8383
available = vultr.filter_regions(regions, plan['locations'])

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ vultr = Vultr('VULTR_API_KEY')
5454
List plans and get available regions for that plan
5555

5656
```python
57-
plans = vultr.list_plans({'type': 'vc2'}) # vc2 - Cloud Compute
57+
plans = vultr.list_plans({'type': 'vc2'}) # Filter by type
5858
plan = plans[0] # 0 seems to be the base plan
5959
regions = vultr.list_regions()
6060
available = vultr.filter_regions(regions, plan['locations'])

src/vultr/vultr.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,47 @@ class Vultr(object):
99

1010
def __init__(self, api_key: Optional[str] = None):
1111
"""
12-
:param str api_key: Vultr API Key or VULTR_API_KEY Environment Variable
12+
:param api_key: Vultr API Key or `VULTR_API_KEY` Environment Variable
1313
"""
1414
self.api_key = api_key or os.getenv("VULTR_API_KEY")
15+
"""Provide the API key here or with the `VULTR_API_KEY` environment variable"""
1516
self._session = requests.session()
1617
if self.api_key:
1718
self._session.headers.update({"Authorization": f"Bearer {self.api_key}"})
1819

1920
def get(self, url: str, params: Optional[dict] = None):
21+
"""
22+
GET Data
23+
:param url: Request URL. Example `/instances`
24+
:param params: Query Parameters
25+
:return: Response Data
26+
"""
2027
return self._get(f"{self.url}/{url.lstrip('/')}", params)
2128

2229
def post(self, url: str, **kwargs):
30+
"""
31+
POST Data
32+
:param url: Request URL. Example `/instances`
33+
:param kwargs: Request Data Keyword Arguments
34+
:return: Response Data
35+
"""
2336
return self._post(f"{self.url}/{url.lstrip('/')}", kwargs)
2437

2538
def patch(self, url: str, **kwargs):
39+
"""
40+
PATCH Data
41+
:param url: Request URL. Example `/instances/{resource_id}`
42+
:param kwargs: Request Data Keyword Arguments
43+
:return: Response Data
44+
"""
2645
return self._patch(f"{self.url}/{url.lstrip('/')}", kwargs)
2746

2847
def delete(self, url: str):
48+
"""
49+
DELETE a Resource
50+
:param url: Request URL. Example `/instances/{resource_id}`
51+
:return: None
52+
"""
2953
return self._delete(f"{self.url}/{url.lstrip('/')}")
3054

3155
def list_os(self, params: Optional[dict] = None):
@@ -193,13 +217,16 @@ def _get_obj_key(obj, key="id"):
193217

194218

195219
class VultrException(Exception):
220+
""" Exception class for all Vultr error responses. """
196221
def __init__(self, response: requests.Response):
197222
try:
198223
data = response.json()
199224
error = data.get("error", response.text)
200225
except ValueError:
201226
error = response.text
202227
status = response.status_code
203-
self.error = error
204-
self.status = status
228+
self.error: str = error
229+
"""Error Message returned from the API"""
230+
self.status: int = status
231+
"""Response Status Code"""
205232
super().__init__(f"Error {self.status}: {self.error}")

0 commit comments

Comments
 (0)