forked from tduboys/moffi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathauto_reservation.py
executable file
·46 lines (41 loc) · 1.34 KB
/
auto_reservation.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
#!/usr/bin/env python3
"""
Moffi Auto-reservation main program
"""
import sys
from moffi_sdk.auth import get_auth_token
from moffi_sdk.auto_reservation import auto_reservation
from utils import ( # pylint: disable=R0801
DEFAULT_CONFIG_RESERVATION_TEMPLATE,
ConfigError,
parse_config,
setup_logging,
setup_reservation_parser,
format_working_days,
)
if __name__ == "__main__":
PARSER = setup_reservation_parser()
PARSER.add_argument("--workingdays", nargs="+", help="Days on week to book", required=False)
CONFIG_TEMPLATE = DEFAULT_CONFIG_RESERVATION_TEMPLATE
CONFIG_TEMPLATE["workingdays"] = {
"section": "Reservation",
"key": "Working Days",
"mandatory": False,
"default_value": None,
"formatter": format_working_days,
}
try: # pylint: disable=R0801
CONF = parse_config(argv=PARSER.parse_args(), config_template=CONFIG_TEMPLATE)
except ConfigError as ex:
PARSER.print_help()
sys.stderr.write(f"\nerror: {str(ex)}\n")
sys.exit(2)
setup_logging(CONF)
TOKEN = get_auth_token(username=CONF.get("user"), password=CONF.get("password"))
auto_reservation(
desk=CONF.get("desk"),
city=CONF.get("city"),
workspace=CONF.get("workspace"),
auth_token=TOKEN,
work_days=CONF.get("workingdays"),
)