-
Notifications
You must be signed in to change notification settings - Fork 14
/
example.py
70 lines (55 loc) · 1.71 KB
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"""Example for the usage of the hole module."""
import asyncio
import json
import aiohttp
from hole import Hole
API_TOKEN = "YOUR_API_TOKEN"
async def main():
"""Get the data from a *hole instance."""
async with aiohttp.ClientSession() as session:
data = Hole("192.168.0.215", session)
await data.get_versions()
print(json.dumps(data.versions, indent=4, sort_keys=True))
print(
"Version:",
data.core_current,
"Latest:",
data.core_latest,
"Update available:",
data.core_update,
)
print(
"FTL:",
data.ftl_current,
"Latest:",
data.ftl_latest,
"Update available:",
data.ftl_update,
)
print(
"Web:",
data.web_current,
"Latest:",
data.web_latest,
"Update available:",
data.web_update,
)
await data.get_data()
# Get the raw data
print(json.dumps(data.data, indent=4, sort_keys=True))
print("Status:", data.status)
print("Domains being blocked:", data.domains_being_blocked)
async def disable():
"""Get the data from a *hole instance."""
async with aiohttp.ClientSession() as session:
data = Hole("192.168.0.215", session, api_token=API_TOKEN)
await data.disable()
async def enable():
"""Get the data from a *hole instance."""
async with aiohttp.ClientSession() as session:
data = Hole("192.168.0.215", session, api_token=API_TOKEN)
await data.enable()
if __name__ == "__main__":
asyncio.run(main())
asyncio.run(disable())
asyncio.run(enable())