added unit test, updated Readme and picture
This commit is contained in:
46
lib/dummygpio.py
Normal file
46
lib/dummygpio.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import time
|
||||
|
||||
HIGH = True
|
||||
LOW = False
|
||||
IN = 0
|
||||
PUD_UP = None
|
||||
DUMMY_FALLING_EDGE = "FALLING"
|
||||
CHANGE_PIN_VALUE_AFTER = 8 # Transition to HIGH after 8 seconds
|
||||
BCM = 0
|
||||
FALLING = None
|
||||
pull_up_down = {PUD_UP: DUMMY_FALLING_EDGE}
|
||||
state = HIGH
|
||||
pin_last_change = {}
|
||||
|
||||
|
||||
def setwarnings(value):
|
||||
pass
|
||||
|
||||
|
||||
def setmode(mode):
|
||||
pass
|
||||
|
||||
|
||||
def cleanup():
|
||||
pass
|
||||
|
||||
|
||||
def setup(pin, direction, **kwargs):
|
||||
pin_last_change[pin] = time.time()
|
||||
|
||||
|
||||
def input(pin):
|
||||
last_change = pin_last_change.get(pin, 0)
|
||||
current = time.time()
|
||||
|
||||
if current - last_change >= CHANGE_PIN_VALUE_AFTER:
|
||||
pin_last_change[pin] = current
|
||||
return HIGH
|
||||
|
||||
return LOW
|
||||
|
||||
|
||||
def add_event_detect(pin, edge, callback, **kwargs):
|
||||
pin_last_change[pin] = time.time()
|
||||
if edge == FALLING:
|
||||
callback(pin)
|
||||
189
lib/slovak_datetime_formatter.py
Normal file
189
lib/slovak_datetime_formatter.py
Normal file
@@ -0,0 +1,189 @@
|
||||
from datetime import datetime
|
||||
|
||||
hodiny_slovnik = {
|
||||
0: "nula",
|
||||
1: "jedna",
|
||||
2: "dve",
|
||||
3: "tri",
|
||||
4: "štyri",
|
||||
5: "päť",
|
||||
6: "šesť",
|
||||
7: "sedem",
|
||||
8: "osem",
|
||||
9: "deväť",
|
||||
10: "desať",
|
||||
11: "jedenásť",
|
||||
12: "dvanásť",
|
||||
13: "trinásť",
|
||||
14: "štrnásť",
|
||||
15: "pätnásť",
|
||||
16: "šestnásť",
|
||||
17: "sedemnásť",
|
||||
18: "osemnásť",
|
||||
19: "devätnásť",
|
||||
20: "dvadsať",
|
||||
21: "dvadsaťjeden",
|
||||
22: "dvadsaťdva",
|
||||
23: "dvadsaťtri",
|
||||
}
|
||||
|
||||
minuty_slovnik = {
|
||||
0: "nula",
|
||||
1: "jedna",
|
||||
2: "dve",
|
||||
3: "tri",
|
||||
4: "štyri",
|
||||
5: "päť",
|
||||
6: "šesť",
|
||||
7: "sedem",
|
||||
8: "osem",
|
||||
9: "deväť",
|
||||
10: "desať",
|
||||
11: "jedenásť",
|
||||
12: "dvanásť",
|
||||
13: "trinásť",
|
||||
14: "štrnásť",
|
||||
15: "pätnásť",
|
||||
16: "šestnásť",
|
||||
17: "sedemnásť",
|
||||
18: "osemnásť",
|
||||
19: "devätnásť",
|
||||
20: "dvadsať",
|
||||
21: "dvadsaťjeden",
|
||||
22: "dvadsaťdva",
|
||||
23: "dvadsaťtri",
|
||||
24: "dvadsaťštyri",
|
||||
25: "dvadsaťpäť",
|
||||
26: "dvadsaťšesť",
|
||||
27: "dvadsaťsedem",
|
||||
28: "dvadsaťosem",
|
||||
29: "dvadsaťdeväť",
|
||||
30: "tridsať",
|
||||
31: "tridsaťjeden",
|
||||
32: "tridsaťdva",
|
||||
33: "tridsaťtri",
|
||||
34: "tridsaťštyri",
|
||||
35: "tridsaťpäť",
|
||||
36: "tridsaťšesť",
|
||||
37: "tridsaťsedem",
|
||||
38: "tridsaťosem",
|
||||
39: "tridsaťdeväť",
|
||||
40: "štyridsať",
|
||||
41: "štyridsaťjeden",
|
||||
42: "štyridsaťdva",
|
||||
43: "štyridsaťtri",
|
||||
44: "štyridsaťštyri",
|
||||
45: "štyridsaťpäť",
|
||||
46: "štyridsaťšesť",
|
||||
47: "štyridsaťsedem",
|
||||
48: "štyridsaťosem",
|
||||
49: "štyridsaťdeväť",
|
||||
50: "päťdesiat",
|
||||
51: "päťdesiatjeden",
|
||||
52: "päťdesiatdva",
|
||||
53: "päťdesiattri",
|
||||
54: "päťdesiatštyri",
|
||||
55: "päťdesiatpäť",
|
||||
56: "päťdesiatšesť",
|
||||
57: "päťdesiatsedem",
|
||||
58: "päťdesiatosem",
|
||||
59: "päťdesiatdeväť",
|
||||
}
|
||||
|
||||
dni_slovnik = {
|
||||
0: "pondelok",
|
||||
1: "utorok",
|
||||
2: "streda",
|
||||
3: "štvrtok",
|
||||
4: "piatok",
|
||||
5: "sobota",
|
||||
6: "nedeľa",
|
||||
}
|
||||
|
||||
mesiace_slovnik = {
|
||||
1: "januára",
|
||||
2: "februára",
|
||||
3: "marca",
|
||||
4: "apríla",
|
||||
5: "mája",
|
||||
6: "júna",
|
||||
7: "júla",
|
||||
8: "augusta",
|
||||
9: "septembra",
|
||||
10: "októbra",
|
||||
11: "novembra",
|
||||
12: "decembra",
|
||||
}
|
||||
|
||||
cisla = {
|
||||
1: "prvého",
|
||||
2: "druhého",
|
||||
3: "tretieho",
|
||||
4: "štvrtého",
|
||||
5: "piateho",
|
||||
6: "šiesteho",
|
||||
7: "siedmeho",
|
||||
8: "ôsmeho",
|
||||
9: "deviateho",
|
||||
10: "desiateho",
|
||||
11: "jedenásteho",
|
||||
12: "dvanásteho",
|
||||
13: "trinásteho",
|
||||
14: "štrnásteho",
|
||||
15: "pätnásteho",
|
||||
16: "šestnásteho",
|
||||
17: "sedemnásteho",
|
||||
18: "osemnásteho",
|
||||
19: "devätnásteho",
|
||||
20: "dvadsiateho",
|
||||
21: "dvadsiateho prvého",
|
||||
22: "dvadsiateho druhého",
|
||||
23: "dvadsiateho tretieho",
|
||||
24: "dvadsiateho štvrtého",
|
||||
25: "dvadsiateho piateho",
|
||||
26: "dvadsiateho šiesteho",
|
||||
27: "dvadsiateho siedmeho",
|
||||
28: "dvadsiateho ôsmeho",
|
||||
29: "dvadsiateho deviateho",
|
||||
30: "tridsiateho",
|
||||
31: "tridsiateho prvého",
|
||||
}
|
||||
|
||||
|
||||
def format_hodiny(hodina):
|
||||
if hodina == "jedna":
|
||||
return "hodina"
|
||||
elif hodina == "dve" or hodina == "tri" or hodina == "štyri":
|
||||
return "hodiny"
|
||||
else:
|
||||
return "hodín"
|
||||
|
||||
|
||||
def format_minuty(minuta):
|
||||
if minuta == "jedna":
|
||||
return "minúta"
|
||||
elif minuta == "dve" or minuta == "tri" or minuta == "štyri":
|
||||
return "minúty"
|
||||
else:
|
||||
return "minút"
|
||||
|
||||
|
||||
def format_prefix(hodiny):
|
||||
if hodiny == "jedna":
|
||||
return "Je"
|
||||
elif hodiny == "dve" or hodiny == "tri" or hodiny == "štyri":
|
||||
return "Sú"
|
||||
else:
|
||||
return "Je"
|
||||
|
||||
|
||||
# Zobrazenie času a dátumu
|
||||
def get_datetime_as_slovak_sentence(cas):
|
||||
hodiny = hodiny_slovnik[cas.hour]
|
||||
minuty = minuty_slovnik[cas.minute]
|
||||
|
||||
return f"{format_prefix(hodiny)} {hodiny} {format_hodiny(hodiny)} a {minuty} {format_minuty(minuty)}, {dni_slovnik[cas.weekday()]}, {cisla[cas.day]} {mesiace_slovnik[cas.month]}"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(get_datetime_as_slovak_sentence(datetime.now()))
|
||||
Reference in New Issue
Block a user