""" Create a new html file from selected films. Save the file under lists directory. """ import os HTML_DIRS = 'list_htmls' def crete_directory(): if not os.path.exists(HTML_DIRS): os.mkdir(HTML_DIRS) def start_html(list_name): return """ <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <link rel="stylesheet" href="../css/list_style.css"> <meta charset="utf-8"> <title>Selected Films</title> </head> <body> <span class="list_title"><h2> %s </h2></span> <ul> """ % list_name def close_html(): return """ </ul> </body> </html> """ def create_table_from_object(film_object): return """ <br> <li> <table> <tr> <td rowspan="5">%s</td> <td colspan="3"> %s</td> </tr> <tr> <td colspan="3">Year: %s</td> </tr> <tr> <td> %s mins</td> <td>%s </td> <td>IMDB Rating: %s </td> </tr> <tr> <td colspan="3">%s</td> </tr> </table> </li> <br> """ % (film_object.get_image_html(), film_object.get_title(), film_object.year, film_object.runtime, film_object.get_genres_string(), film_object.get_rating(), film_object.storyline) def create_html_file(film_objects_list, list_name): film_html_str = "" # Generate html list for film_object in film_objects_list: film_html_str += create_table_from_object(film_object) crete_directory() html_file = open(os.path.join(HTML_DIRS, list_name + '.html'), "w", encoding='utf-8') html_file.write(start_html(list_name) + film_html_str + close_html() )