19
19
print ('set FROM_MAIL and TO_MAIL in env' )
20
20
sys .exit (1 )
21
21
22
- # TODO: retrieve director and actors
23
- TEMPLATE = '''<h4><a href="{link}">{title}</a></h4>
24
- <p>Overview: {overview}
25
- <img src="{img}" style="float: right;"></p>
26
- <p>Genres: {genres} / (first) release: {release}</p>
27
- <hr>
22
+ # I know: html tables suck, but necessary in html emails
23
+ # TODO: retrieve director and actors (and filters)
24
+ TEMPLATE = '''<tr>
25
+ <td style='margin: 5px; vertical-align:top;'>
26
+ <img src="{img}" style="float: right;">
27
+ </td>
28
+ <td style='margin: 5px; vertical-align:top;'>
29
+ <ul>
30
+ <li><strong><a href="{link}">{title}</a></strong></li>
31
+ <li>Overview: {overview}</li>
32
+ <li>Genres: {genres}</li>
33
+ <li>(First) release: {release}</li>
34
+ </ul>
35
+ </td>
36
+ </tr>
28
37
'''
29
38
30
39
31
40
def generate_mail_msg (items ):
32
41
output = []
33
42
34
43
for kind in items :
35
- output .append ('<h2>{}</h2>' .format (kind ))
44
+ output .append ('<h2>{}</h2>' .format (kind . upper () ))
36
45
37
46
for listing , entries in items [kind ].items ():
38
- output .append ('<h3>{}</h3>' .format (listing ))
47
+ listing_header = listing .replace ('_' , ' ' ).title ()
48
+ output .append ('<h3>{}</h3>' .format (listing_header ))
39
49
40
50
if not entries :
41
51
output .append ('No new items' )
42
52
continue
43
53
54
+ output .append ('<table>' )
55
+
44
56
for entry in sorted (entries ,
45
57
key = lambda x : datetime .strptime (
46
58
x .release_date , '%Y-%m-%d' ),
@@ -58,6 +70,8 @@ def generate_mail_msg(items):
58
70
img = img ,
59
71
genres = genres ,
60
72
release = entry .release_date ))
73
+
74
+ output .append ('</table>' )
61
75
62
76
return '\n ' .join (output )
63
77
0 commit comments