Awesome-Python-Scripts/IMDBQuerier/html_creator.py
Burak Bekci bd9a89afd0
IMDB list querier project by Burak Bekci (#187)
Co-authored-by: Ayush Bhardwaj <classicayush@gmail.com>
2020-10-14 17:16:08 +05:30

69 lines
1.8 KiB
Python

"""
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() )