-
Notifications
You must be signed in to change notification settings - Fork 1
/
async_test_module.py
98 lines (79 loc) · 3.22 KB
/
async_test_module.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# ruff: noqa: F401
"""This module is only used to run some realtime data tests using the async functions, while developing the module.
"""
from __future__ import annotations
import asyncio
import aiohttp
import logging
import time
import sys
from pyaffalddk import (
GarbageCollection,
MUNICIPALITIES_ARRAY,
NAME_ARRAY,
AffaldDKAddressInfo,
PickupEvents,
AffaldDKNoConnection,
)
_LOGGER = logging.getLogger(__name__)
async def main() -> None:
"""Async test module."""
logging.basicConfig(level=logging.DEBUG)
start = time.time()
session = aiohttp.ClientSession()
garbage = GarbageCollection(municipality=sys.argv[2], session=session)
if sys.argv[1] == "address_id":
try:
address_data: AffaldDKAddressInfo = await garbage.get_address_id(
zipcode=sys.argv[3], street=sys.argv[4], house_number=sys.argv[5]
)
print("")
print("========================================================")
print("Address ID: ", address_data.address_id)
print("Kommune: ", address_data.kommunenavn)
print("Vejnavn: ", address_data.vejnavn)
print("Hus nr.: ", address_data.husnr)
except Exception as err:
print(err)
elif sys.argv[1] == "municipalities":
for row in MUNICIPALITIES_ARRAY:
print(row.capitalize())
elif sys.argv[1] == "categories":
_sorted_names = sorted(NAME_ARRAY)
for row in _sorted_names:
print(row)
elif sys.argv[1] == "pickup_data":
try:
data: PickupEvents = await garbage.get_pickup_data(address_id=sys.argv[3])
print("")
print("========================================================")
for item in NAME_ARRAY:
if data.get(item) is None:
continue
print(f"{data[item].friendly_name}:")
print(" Nøgle: ", item)
print(" Gruppe: ", data[item].group)
print(" Navn: ", data[item].friendly_name)
print(" Dato: ", data[item].date.strftime("%d-%m-%Y"))
print(" Beskrivelse: ", data[item].description)
print(" Icon: ", data[item].icon)
print(" Picture: ", data[item].entity_picture)
print(" Sidst Opdateret: ", data[item].last_updated)
print(" ======================================================")
item = "next_pickup"
print("Mext Pickup:")
print(" Gruppe: ", data[item].group)
print(" Navn: ", data[item].friendly_name)
print(" Dato: ", data[item].date.strftime("%d-%m-%Y"))
print(" Beskrivelse: ", data[item].description)
print(" Icon: ", data[item].icon)
print(" Picture: ", data[item].entity_picture)
print(" Sidst Opdateret: ", data[item].last_updated)
print(" ======================================================")
except AffaldDKNoConnection as err:
print(err)
if session is not None:
await session.close()
end = time.time()
_LOGGER.info("Execution time: %s seconds", end - start)
asyncio.run(main())