9
9
10
10
from app .database .models import Event
11
11
12
- ZOOM_REGEX = re .compile (r' https://.*?\.zoom.us/[a-z]/.[^.,\b\s]+' )
12
+ ZOOM_REGEX = re .compile (r" https://.*?\.zoom.us/[a-z]/.[^.,\b\s]+" )
13
13
14
14
15
15
def raise_if_zoom_link_invalid (vc_link ):
16
16
if ZOOM_REGEX .search (vc_link ) is None :
17
- raise HTTPException (status_code = HTTP_400_BAD_REQUEST ,
18
- detail = "VC type with no valid zoom link" )
17
+ raise HTTPException (
18
+ status_code = HTTP_400_BAD_REQUEST ,
19
+ detail = "VC type with no valid zoom link" ,
20
+ )
19
21
20
22
21
23
def get_invited_emails (invited_from_form : str ) -> List [str ]:
22
24
invited_emails = []
23
- for invited_email in invited_from_form .split (',' ):
25
+ if not invited_from_form :
26
+ return ["" ]
27
+ for invited_email in invited_from_form .split ("," ):
24
28
invited_email = invited_email .strip ()
25
29
try :
26
30
validate_email (invited_email , check_deliverability = False )
27
31
except EmailSyntaxError :
28
- logging .exception (f'{ invited_email } is not a valid email address' )
29
- continue
30
- invited_emails .append (invited_email )
32
+ logging .exception (
33
+ f"{ invited_email } is not a valid email address" ,
34
+ )
35
+ else :
36
+ invited_emails .append (invited_email )
31
37
32
38
return invited_emails
33
39
34
40
35
- def get_uninvited_regular_emails (session : Session ,
36
- owner_id : int ,
37
- title : str ,
38
- invited_emails : List [str ]) -> Set [str ]:
41
+ def get_uninvited_regular_emails (
42
+ session : Session ,
43
+ owner_id : int ,
44
+ title : str ,
45
+ invited_emails : List [str ],
46
+ ) -> Set [str ]:
39
47
invitees_query = session .query (Event ).with_entities (Event .invitees )
40
- similar_events_invitees = invitees_query .filter (Event .owner_id == owner_id ,
41
- Event .title == title ).all ()
48
+ similar_events_invitees = invitees_query .filter (
49
+ Event .owner_id == owner_id ,
50
+ Event .title == title ,
51
+ ).all ()
42
52
regular_invitees = set ()
43
53
for record in similar_events_invitees :
44
54
if record :
45
- regular_invitees .update (record [0 ].split (',' ))
55
+ regular_invitees .update (record [0 ].split ("," ))
46
56
47
57
return regular_invitees - set (invited_emails )
48
58
49
59
50
- def check_diffs (checked_event : Event ,
51
- all_events : List [Event ]):
60
+ def check_diffs (checked_event : Event , all_events : List [Event ]):
52
61
"""Returns the repeated events and the week difference"""
53
62
diffs = []
54
63
for event in all_events :
@@ -65,22 +74,30 @@ def check_diffs(checked_event: Event,
65
74
66
75
67
76
def find_pattern (session , event ):
68
- all_events_with_same_name = session .query (Event ).filter (
69
- Event .owner_id == event .owner_id , Event .title == event .title ).all ()
77
+ all_events_with_same_name = (
78
+ session .query (Event )
79
+ .filter (Event .owner_id == event .owner_id , Event .title == event .title )
80
+ .all ()
81
+ )
70
82
71
83
return check_diffs (event , all_events_with_same_name )
72
84
73
85
74
- def get_messages (session : Session ,
75
- event : Event ,
76
- uninvited_contacts : Set [str ]) -> List [str ]:
86
+ def get_messages (
87
+ session : Session ,
88
+ event : Event ,
89
+ uninvited_contacts : Set [str ],
90
+ ) -> List [str ]:
77
91
messages = []
78
92
if uninvited_contacts :
79
- messages .append (f'Forgot to invite '
80
- f'{ ", " .join (uninvited_contacts )} maybe?' )
93
+ messages .append (
94
+ f"Forgot to invite " f'{ ", " .join (uninvited_contacts )} maybe?' ,
95
+ )
81
96
82
97
pattern = find_pattern (session , event )
83
98
for weeks_diff in pattern :
84
- messages .append (f'Same event happened { weeks_diff } weeks before too. '
85
- f'Want to create another one { weeks_diff } after too?' )
99
+ messages .append (
100
+ f"Same event happened { weeks_diff } weeks before too. "
101
+ f"Want to create another one { weeks_diff } after too?" ,
102
+ )
86
103
return messages
0 commit comments