diff --git a/EntertainmentCenter.py b/EntertainmentCenter.py
new file mode 100644
index 000000000..a4a71b6b0
--- /dev/null
+++ b/EntertainmentCenter.py
@@ -0,0 +1,56 @@
+import media
+import fresh_tomatoes
+# Creating movie instances of Class Movie
+the_dark_knight = media.Movie(
+ "The Dark Knight",
+ "A man protecting his city disguised in bat suite",
+ "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT3vVwDZYVjhrZsXQjhLkdZQAT9S6Irp6wSZhjO9S0rZZ-wjjPn", # Noqa
+ "https://www.youtube.com/watch?v=EXeTwQWrcwY")
+
+up = media.Movie(
+ "UP",
+ "An old man who is on the quest fo fulfilling his dead wife's" +
+ " wish and a kid who is struck around the old man are " +
+ "doing adventure things",
+ "https://vignette.wikia.nocookie.net/disney/images/a/a6/Up_Poster_Run.jpg/revision/latest?cb=20160202180816", # Noqa
+ "https://www.youtube.com/watch?v=ZE_V0g9q4g0")
+
+the_impossible = media.Movie(
+ "The impossible",
+ "How a family is getting reunited after Tsunami disaster ",
+ "https://upload.wikimedia.org/wikipedia/en/b/b8/The_Impossible.jpg",
+ "https://www.youtube.com/watch?v=Bgw394ZKsis")
+
+harry_potter = media.Movie(
+ "The Harry Potter And The Sorcerer's Stone",
+ "A kid famous in wizard world attending wizard school",
+ "https://static.rogerebert.com/uploads/movie/movie_poster/harry-potter-and-the-sorcerers-stone-2001/large_uLGaJ9FgPWf7EUgwjp9RTmHemw8.jpg", # Noqa
+ "https://www.youtube.com/watch?v=PbdM1db3JbY")
+
+the_zootopia = media.Movie(
+ "The Zootopia",
+ "A bunny cop and wolf trying to catch the criminal gang",
+ "https://www.flayrah.com/sites/default/files/u/crossaffliction/zootopialittlegoldenbook.jpg", # Noqa
+ "https://www.youtube.com/watch?v=jWM0ct-OLsM")
+
+the_lord_of_rings = media.Movie(
+ "The_Lord_of_the_Rings: The_Fellowship_of_the_Ring",
+ "The fate of Middle-earth hangs in the balance as Frodo and " +
+ "eight companions who form the Fellowship of the Ring begin " +
+ "their journey to Mount Doom in the land of Mordor",
+ "https://upload.wikimedia.org/wikipedia/en/9/9d/The_Lord_of_the_Rings_The_Fellowship_of_the_Ring_%282001%29_theatrical_poster.jpg", # Noqa
+ "https://www.youtube.com/watch?v=V75dMMIW2B4")
+
+# Movies array, contains the list of movies as input, which
+# is passed to the function "open_movies_page". This function
+# translates this list into a web page when we run the
+# "EntertainmentCenter.py" file.
+
+movies = [the_dark_knight,
+ up,
+ the_impossible,
+ harry_potter,
+ the_zootopia,
+ the_lord_of_rings]
+# Creating wepage with the movie instances to play trailer
+fresh_tomatoes.open_movies_page(movies)
diff --git a/README.md b/README.md
index 36ae53b62..10954e57c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,11 @@
# ud036_StarterCode
Source code for a Movie Trailer website.
+# Prerequisite
+Install Python
+# Usage
+1. Save all the python files in same location.
+2. Open python IDLE
+3. Go to `File->Open` and choose _EntertainmentCenter.py_ file
+4. Press F5 to run the file
+5. Play the movie trailer by clicking on the movie image displayed in the website
+
diff --git a/fresh_tomatoes.py b/fresh_tomatoes.py
index 5cd75599c..3e2209b8c 100644
--- a/fresh_tomatoes.py
+++ b/fresh_tomatoes.py
@@ -1,167 +1,158 @@
-import webbrowser
-import os
-import re
-
-
-# Styles and scripting for the page
-main_page_head = '''
-
-
-
-
- Fresh Tomatoes!
-
-
-
-
-
-
-
-
-
-'''
-
-
-# The main page layout and title bar
-main_page_content = '''
-
-
-
-
-
-'''
-
-
-# A single movie entry html template
-movie_tile_content = '''
-
-
-
{movie_title}
-
-'''
-
-
-def create_movie_tiles_content(movies):
- # The HTML content for this section of the page
- content = ''
- for movie in movies:
- # Extract the youtube ID from the url
- youtube_id_match = re.search(
- r'(?<=v=)[^]+', movie.trailer_youtube_url)
- youtube_id_match = youtube_id_match or re.search(
- r'(?<=be/)[^]+', movie.trailer_youtube_url)
- trailer_youtube_id = (youtube_id_match.group(0) if youtube_id_match
- else None)
-
- # Append the tile for the movie with its content filled in
- content += movie_tile_content.format(
- movie_title=movie.title,
- poster_image_url=movie.poster_image_url,
- trailer_youtube_id=trailer_youtube_id
- )
- return content
-
-
-def open_movies_page(movies):
- # Create or overwrite the output file
- output_file = open('fresh_tomatoes.html', 'w')
-
- # Replace the movie tiles placeholder generated content
- rendered_content = main_page_content.format(
- movie_tiles=create_movie_tiles_content(movies))
-
- # Output the file
- output_file.write(main_page_head + rendered_content)
- output_file.close()
-
- # open the output file in the browser (in a new tab, if possible)
- url = os.path.abspath(output_file.name)
- webbrowser.open('file://' + url, new=2)
+import webbrowser
+import os
+import re
+
+# Styles and scripting for the page
+main_page_head = '''
+
+
+ Fresh Tomatoes!
+
+
+
+
+
+
+
+
+
+'''
+
+# The main page layout and title bar
+main_page_content = '''
+
+
+
+
+
+
+
+'''
+
+# A single movie entry html template
+movie_tile_content = '''
+
+
+
{movie_title}
+
+'''
+
+def create_movie_tiles_content(movies):
+ # The HTML content for this section of the page
+ content = ''
+ for movie in movies:
+ # Extract the youtube ID from the url
+ youtube_id_match = re.search(r'(?<=v=)[^]+', movie.trailer)
+ youtube_id_match = youtube_id_match or re.search(r'(?<=be/)[^]+', movie.trailer)
+ trailer_youtube_id = youtube_id_match.group(0) if youtube_id_match else None
+
+ # Append the tile for the movie with its content filled in
+ content += movie_tile_content.format(
+ movie_title=movie.title,
+ poster_image_url=movie.poster,
+ trailer_youtube_id=trailer_youtube_id
+ )
+ return content
+
+def open_movies_page(movies):
+ # Create or overwrite the output file
+ output_file = open('fresh_tomatoes.html', 'w')
+
+ # Replace the placeholder for the movie tiles with the actual dynamically generated content
+ rendered_content = main_page_content.format(movie_tiles=create_movie_tiles_content(movies))
+
+ # Output the file
+ output_file.write(main_page_head + rendered_content)
+ output_file.close()
+
+ # open the output file in the browser
+ url = os.path.abspath(output_file.name)
+ webbrowser.open('file://' + url, new=2) # open in a new tab, if possible
diff --git a/media.py b/media.py
new file mode 100644
index 000000000..381358d63
--- /dev/null
+++ b/media.py
@@ -0,0 +1,22 @@
+import webbrowser
+
+
+class Movie():
+ """
+ Movie class to store the details of movie
+ """
+ def __init__(self, movie_title, movie_storyline,
+ poster_image, trailer_youtube):
+ """
+ Assign the movie instance variables with the given values
+ """
+ self.title = movie_title
+ self.storyline = movie_storyline
+ self.poster = poster_image
+ self.trailer = trailer_youtube
+
+ def show_trailor(self):
+ """
+ Open the trailer of the calling movie instance
+ """
+ webbrowser.open(self.trailer)