readyview 0.0.1__tar.gz → 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {readyview-0.0.1 → readyview-0.0.2}/PKG-INFO +1 -1
- {readyview-0.0.1 → readyview-0.0.2}/pyproject.toml +1 -1
- readyview-0.0.2/src/readyview/__init__.py +5 -0
- readyview-0.0.2/src/readyview/config.py +4 -0
- readyview-0.0.2/src/readyview/dashboard.py +17 -0
- readyview-0.0.2/src/readyview/rest_session.py +28 -0
- readyview-0.0.2/src/readyview/switch.py +25 -0
- readyview-0.0.1/src/readyview/__init__.py +0 -0
- readyview-0.0.1/src/readyview/dashboard.py +0 -10
- {readyview-0.0.1 → readyview-0.0.2}/LICENSE +0 -0
- {readyview-0.0.1 → readyview-0.0.2}/README.md +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import rest_session
|
|
2
|
+
from switch import Switch
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
class Dashboard:
|
|
6
|
+
def __init__(self, organization_id=None, api_key=None):
|
|
7
|
+
self.organization_id = organization_id or os.environ.get("READYVIEW_DASHBOARD_ORG_ID")
|
|
8
|
+
self.api_key = api_key or os.environ.get("READYVIEW_DASHBOARD_API_KEY")
|
|
9
|
+
self._rest = rest_session.RestSession(self.organization_id, self.api_key)
|
|
10
|
+
self.switch = Switch(self._rest)
|
|
11
|
+
|
|
12
|
+
def display_info(self):
|
|
13
|
+
return (
|
|
14
|
+
f"Org ID: {self.organization_id}\n"
|
|
15
|
+
f"API Key: {self.api_key}\n"
|
|
16
|
+
)
|
|
17
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
from requests.auth import HTTPBasicAuth
|
|
3
|
+
|
|
4
|
+
# Base URL preceding all endpoint resources
|
|
5
|
+
DEFAULT_BASE_URL = "https://api.readylinks.io/"
|
|
6
|
+
|
|
7
|
+
class RestSession:
|
|
8
|
+
def __init__(self, organization_id: str, api_key: str, base_url=DEFAULT_BASE_URL):
|
|
9
|
+
self.base_url = base_url
|
|
10
|
+
self.organization_id = organization_id
|
|
11
|
+
self.api_key = api_key
|
|
12
|
+
|
|
13
|
+
def request(self, method, url):
|
|
14
|
+
reponse = None
|
|
15
|
+
try:
|
|
16
|
+
response = requests.get(self.base_url + url, auth=HTTPBasicAuth(self.organization_id, self.api_key), timeout=100)
|
|
17
|
+
except Exception as e:
|
|
18
|
+
print(str(e))
|
|
19
|
+
return response
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def get(self, url, params=None):
|
|
23
|
+
response = self.request("GET", url)
|
|
24
|
+
if response:
|
|
25
|
+
if response.status_code != 200:
|
|
26
|
+
return {"error": f'failed with code {response.status_code} {response.text}'}
|
|
27
|
+
return response.json()
|
|
28
|
+
return None
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class Switch(object):
|
|
2
|
+
def __init__(self, rest):
|
|
3
|
+
super(Switch, self).__init__()
|
|
4
|
+
self._rest = rest
|
|
5
|
+
|
|
6
|
+
def get_ports(self, mac_address: str):
|
|
7
|
+
url = f"v1/devices/{mac_address}/switch/ports"
|
|
8
|
+
return self._rest.get(url)
|
|
9
|
+
|
|
10
|
+
def get_switch(self, mac_address: str):
|
|
11
|
+
url = f"v1/devices/{mac_address}/switch"
|
|
12
|
+
return self._rest.get(url)
|
|
13
|
+
|
|
14
|
+
def get_switches(self):
|
|
15
|
+
url = 'v2/devices'
|
|
16
|
+
return self._rest.get(url)
|
|
17
|
+
|
|
18
|
+
def get_device(self, id: str):
|
|
19
|
+
url = f'v2/devices/{id}'
|
|
20
|
+
return self._rest.get(url)
|
|
21
|
+
|
|
22
|
+
def display_info(self):
|
|
23
|
+
return (
|
|
24
|
+
f"MAC Address: {self.mac_address}\n"
|
|
25
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|