Example #1
0
def main():
    display.bienvenida()

    # First check if db exists. If it doesn't then create it
    if not admin.checkDb():
        admin.createDb()
        check = u'\u2713'
        print 'DB: \033[92m' + check + '\033[0m'
        admin.createMovieTable()
        print 'TABLE pelicula: \033[92m' + check + '\033[0m'
        admin.createMovieLinkTable()
        print 'TABLE linkpelicula: \033[92m' + check + '\033[0m'
    else:
        check = u'\u2713'
        print 'DB: \033[92m' + check + '\033[0m'
    i = 1
    while True:
        r = requests.get('https://miradetodo.co/page/' + str(i))
        soup = BeautifulSoup(r.content, 'html.parser')

        # Container of all movies
        contenedorDiv = soup.find('div', {'class': 'items'})

        itemDivs = contenedorDiv.find_all('div', {'class': 'item'})
        peliculas = []
        for itemDiv in itemDivs:
            infoDiv = itemDiv.find('div', {'class': 'fixyear'})
            name = infoDiv.find('h2').string[0:-7]
            year = infoDiv.find('span').string
            playerLink = itemDiv.a.get('href')

            boxDiv = itemDiv.find('div', {'class': 'boxinfo'})
            puntuacion = boxDiv.find('div', {
                'class': 'cocs imdb_r'
            }).find('span').text
            cantVotos = boxDiv.find('div', {
                'class': 'cocs imdb_r'
            }).find('div', {
                'class': 'b'
            }).find_all('b')[1].text[0:-6]

            # Por ahora ignoro las series
            if playerLink.find('/series/') == -1:
                links = movieLinks(playerLink)

                pelicula = Movie({
                    'name': name,
                    'year': year,
                    'original-link': playerLink,
                    'links': links,
                    'score': puntuacion,
                    'totalVotes': cantVotos
                })
                pelicula.save()
                progreso = 'Se guardo ' + pelicula.name
                display.progress(progreso)
                print "\n"
        i = i + 1
Example #2
0
def add_movie():
    if request.method == "GET":
        # Uses request form
        return render_template("add_movie.html")
    elif request.method == "POST":
        form = request.form
        t = form["title"]
        img = form["image"]
        y = form["year"]
        m = Movie(title=t, image=img, year=y)
        m.save()
        return "ahihi dongok"
Example #3
0
def add_movie():
    if request.method == "GET":  #== k viet thuong , nen viet hoa
        #user request form
        return render_template("add_movie.html")
    elif request.method == "POST":
        form = request.form
        t = form["title"]
        i = form["image"]
        y = form["year"]
        m = Movie(title=t, image=i, year=y)
        m.save()
        return "Gotcha bitch"
def add_movie():
    if request.method == "GET":
        #User request form
        return render_template("add_movie.html")
    elif request.method == "POST":
        form = request.form
        t = form['title']
        img = form['image']
        y = form['year']
        m = Movie(title=t, image=img, year=y)
        m.save()
        return "GotCha!!!"
Example #5
0
def add_movie():
    if request.method == "GET":
        # User requests Form
        return render_template("add_movie.html")
    elif request.method == "POST":
        form = request.form  #type(form) --> Dictionary
        t = form["title"]
        img = form["image"]
        y = form["year"]

        m = Movie(title=t, image=img, year=y)
        m.save()
        return "Gotcha!!!"
Example #6
0
class TestMovieClass(unittest.TestCase):
    def setUp(self):
        self.m = Movie("Best.Movie.Ever.", 2014, 10)

    def test_get_movie_title(self):
        self.assertEqual("Best.Movie.Ever.", self.m.get_title())

    def test_get_movie_year(self):
        self.assertEqual(2014, self.m.get_year())

    def test_get_movie_rating(self):
        self.assertEqual(10, self.m.get_rating())

    @unittest.skip("This works but no point in generating extra movies.")
    def test_save_movie(self):
        self.assertTrue(self.m.save())
class MovieCatalogProgram():
    def __init__(self):
        self.actors = []
        self.movies = OrderedDict()

        self.db_path = sqlite3.connect("movie_catalog.db")
        self.cursor = self.db_path.cursor()
        self._load_initial_state()

    def add_movie(self):
        self.movie_title = input('title >')
        self.movie_year = input('year >')
        while True:
            self.movie_rating = int(input('rating >'))
            if self.movie_rating <= 10 and self.movie_rating > 0:
                break
            else:
                print("Rating can only be a number between 1 and 10.")
        self.m = Movie(self.movie_title,
                       self.movie_year,
                       self.movie_rating)
        if(self.m.get_title() not in self.movies.keys()
           and self.m.get_year() not in self.movies.values()):
            self.movies[self.movie_title] = self.movie_year
            self.m.save()
            print('{} ({}) {}'.format(self.movie_title,
                                      self.movie_year,
                                      'was added to your catalog!'))
        else:
            print('Movie already exists!')

    def add_actor(self, *arguments):
        arguments = list(arguments)
        if len(arguments) == 1:
            self.name = input('name >')
            self.a = Actor(self.name)
            self.actors.append(self.name)
            arguments.append(len(self.actors))
            self.a.save()
        else:
            if len(self.actors) >= int(arguments[1]):
                self.a = Actor(self.actors[int(arguments[1]) - 1])
            else:
                print("There is no actor with this id! Add new actor!")
                self.name = input('name >')
                self.a = Actor(self.name)
                self.actors.append(self.name)
                self.a.save()
        self.cursor.execute("""CREATE TABLE IF NOT EXISTS relations
                               (movie_id, actor_id)""")
        query = ("INSERT INTO relations(movie_id, actor_id) VALUES (?, ?)")
        data = [int(arguments[0]), int(arguments[1])]
        self.cursor.execute(query, data)
        self.db_path.commit()

    def list_movies(self):
        i = 1
        for movie in self.movies:
            print('[{}] {} ({})'.format(str(i), movie, self.movies[movie]))
            i += 1

    def list_actors(self):
        i = 1
        for actor in self.actors:
            print('[{}] {}'.format(str(i), actor))
            i += 1

    def actor_info(self, id):
        self.__id = id
        movies_ids = []
        movies_actor_is_in = []
        lines = []
        query = ("SELECT Name FROM actors WHERE id = ?")
        data = [self.__id]
        actor = self.cursor.execute(query, data)
        for line in actor:
            actor_name = line[0]
        query = ("SELECT movie_id FROM relations WHERE actor_id = ?")
        for line in self.cursor.execute(query, data):
            movies_ids.append(line[0])
        for i in range(len(movies_ids)):
            query = ("SELECT * FROM movies WHERE id = ?")
            data = [movies_ids[i]]
            movies_actor_is_in.append(self.cursor.execute(query, data))
            for movie_actor_is_in in movies_actor_is_in:
                for line in movies_actor_is_in:
                    for data in line:
                        lines.append(data)
                        break
        print('{} stars in:'.format(actor_name))
        for line in lines:
            print('[{}] {} ({})'.format(line[0], line[1], line[2]))

    def movie_info(self, id):
        self.__id = id
        query = ("SELECT * FROM movies WHERE id = ?")
        data = [self.__id]
        movie = self.cursor.execute(query, data)
        actors_ids = []
        cast = []
        cast_names = []
        cast_names_formatted = ''
        for line in movie:
            movie_title = line[1]
            movie_year = line[2]
            movie_rating = line[3]
        query = ("SELECT actor_id FROM relations WHERE movie_id = ?")
        for line in self.cursor.execute(query, data):
            actors_ids.append(line[0])
        for i in range(len(actors_ids)):
            query = ("SELECT Name FROM actors WHERE id = ?")
            data = [actors_ids[i]]
            cast.append(self.cursor.execute(query, data))
            for actor in cast:
                for name in actor:
                    for data in name:
                        cast_names.append(data)
                        break
        print('Title: {}'.format(movie_title))
        print('Year: {}'.format(movie_year))
        for name in cast_names:
            cast_names_formatted += name + ', '
        print('Cast: ' + cast_names_formatted[:-2])
        print('Rating: {}'.format(movie_rating))

    def rate_movie(self, id):
        self.__id = id
        while True:
            rating = int(input('rating >'))
            if rating <= 10 and rating > 0:
                break
            else:
                print("Rating can only be a number between 1 and 10.")
        query = ("UPDATE movies SET rating = ? WHERE id = ?")
        data = [rating, self.__id]
        self.cursor.execute(query, data)
        self.db_path.commit()

    def find_movies(self, rating):
        self.__rating = rating
        query = ("SELECT id, Title, Year FROM movies WHERE rating = ?")
        data = [self.__rating]
        movie = self.cursor.execute(query, data)
        print('Movies rated {}:'.format(self.__rating))
        for line in movie:
            print('[{}] {} ({})'.format(str(line[0]), line[1], str(line[2])))

    def _load_initial_state(self):
        if os.path.isfile("movie_catalog.db"):
            self.cursor.execute("""CREATE TABLE IF NOT EXISTS movies
                                   (id INTEGER PRIMARY KEY AUTOINCREMENT,
                                    Title, Year, Rating)""")
            self.cursor.execute("""CREATE TABLE IF NOT EXISTS actors
                                   (id INTEGER PRIMARY KEY AUTOINCREMENT,
                                    Name)""")
            actors_data = self.cursor.execute("""SELECT Name FROM actors""")
            for actor in actors_data:
                self.actors.append(actor[0])
            movies_data = self.cursor.execute("""SELECT Title, Year
                                                 FROM movies""")
            for movie in movies_data:
                self.movies[movie[0]] = movie[1]
import mlab
from movie import Movie

mlab.connect()

m = Movie(title="songoku",
          year=1996,
          image="https://genknews.genkcdn.vn/2017/photo-1-1511425238742.jpg")
m.save()

print("Done")
Example #9
0
class MovieCatalogProgram():
    def __init__(self):
        self.actors = []
        self.movies = OrderedDict()

        self.db_path = sqlite3.connect("movie_catalog.db")
        self.cursor = self.db_path.cursor()
        self._load_initial_state()

    def add_movie(self):
        self.movie_title = input('title >')
        self.movie_year = input('year >')
        while True:
            self.movie_rating = int(input('rating >'))
            if self.movie_rating <= 10 and self.movie_rating > 0:
                break
            else:
                print("Rating can only be a number between 1 and 10.")
        self.m = Movie(self.movie_title, self.movie_year, self.movie_rating)
        if (self.m.get_title() not in self.movies.keys()
                and self.m.get_year() not in self.movies.values()):
            self.movies[self.movie_title] = self.movie_year
            self.m.save()
            print('{} ({}) {}'.format(self.movie_title, self.movie_year,
                                      'was added to your catalog!'))
        else:
            print('Movie already exists!')

    def add_actor(self, *arguments):
        arguments = list(arguments)
        if len(arguments) == 1:
            self.name = input('name >')
            self.a = Actor(self.name)
            self.actors.append(self.name)
            arguments.append(len(self.actors))
            self.a.save()
        else:
            if len(self.actors) >= int(arguments[1]):
                self.a = Actor(self.actors[int(arguments[1]) - 1])
            else:
                print("There is no actor with this id! Add new actor!")
                self.name = input('name >')
                self.a = Actor(self.name)
                self.actors.append(self.name)
                self.a.save()
        self.cursor.execute("""CREATE TABLE IF NOT EXISTS relations
                               (movie_id, actor_id)""")
        query = ("INSERT INTO relations(movie_id, actor_id) VALUES (?, ?)")
        data = [int(arguments[0]), int(arguments[1])]
        self.cursor.execute(query, data)
        self.db_path.commit()

    def list_movies(self):
        i = 1
        for movie in self.movies:
            print('[{}] {} ({})'.format(str(i), movie, self.movies[movie]))
            i += 1

    def list_actors(self):
        i = 1
        for actor in self.actors:
            print('[{}] {}'.format(str(i), actor))
            i += 1

    def actor_info(self, id):
        self.__id = id
        movies_ids = []
        movies_actor_is_in = []
        lines = []
        query = ("SELECT Name FROM actors WHERE id = ?")
        data = [self.__id]
        actor = self.cursor.execute(query, data)
        for line in actor:
            actor_name = line[0]
        query = ("SELECT movie_id FROM relations WHERE actor_id = ?")
        for line in self.cursor.execute(query, data):
            movies_ids.append(line[0])
        for i in range(len(movies_ids)):
            query = ("SELECT * FROM movies WHERE id = ?")
            data = [movies_ids[i]]
            movies_actor_is_in.append(self.cursor.execute(query, data))
            for movie_actor_is_in in movies_actor_is_in:
                for line in movies_actor_is_in:
                    for data in line:
                        lines.append(data)
                        break
        print('{} stars in:'.format(actor_name))
        for line in lines:
            print('[{}] {} ({})'.format(line[0], line[1], line[2]))

    def movie_info(self, id):
        self.__id = id
        query = ("SELECT * FROM movies WHERE id = ?")
        data = [self.__id]
        movie = self.cursor.execute(query, data)
        actors_ids = []
        cast = []
        cast_names = []
        cast_names_formatted = ''
        for line in movie:
            movie_title = line[1]
            movie_year = line[2]
            movie_rating = line[3]
        query = ("SELECT actor_id FROM relations WHERE movie_id = ?")
        for line in self.cursor.execute(query, data):
            actors_ids.append(line[0])
        for i in range(len(actors_ids)):
            query = ("SELECT Name FROM actors WHERE id = ?")
            data = [actors_ids[i]]
            cast.append(self.cursor.execute(query, data))
            for actor in cast:
                for name in actor:
                    for data in name:
                        cast_names.append(data)
                        break
        print('Title: {}'.format(movie_title))
        print('Year: {}'.format(movie_year))
        for name in cast_names:
            cast_names_formatted += name + ', '
        print('Cast: ' + cast_names_formatted[:-2])
        print('Rating: {}'.format(movie_rating))

    def rate_movie(self, id):
        self.__id = id
        while True:
            rating = int(input('rating >'))
            if rating <= 10 and rating > 0:
                break
            else:
                print("Rating can only be a number between 1 and 10.")
        query = ("UPDATE movies SET rating = ? WHERE id = ?")
        data = [rating, self.__id]
        self.cursor.execute(query, data)
        self.db_path.commit()

    def find_movies(self, rating):
        self.__rating = rating
        query = ("SELECT id, Title, Year FROM movies WHERE rating = ?")
        data = [self.__rating]
        movie = self.cursor.execute(query, data)
        print('Movies rated {}:'.format(self.__rating))
        for line in movie:
            print('[{}] {} ({})'.format(str(line[0]), line[1], str(line[2])))

    def _load_initial_state(self):
        if os.path.isfile("movie_catalog.db"):
            self.cursor.execute("""CREATE TABLE IF NOT EXISTS movies
                                   (id INTEGER PRIMARY KEY AUTOINCREMENT,
                                    Title, Year, Rating)""")
            self.cursor.execute("""CREATE TABLE IF NOT EXISTS actors
                                   (id INTEGER PRIMARY KEY AUTOINCREMENT,
                                    Name)""")
            actors_data = self.cursor.execute("""SELECT Name FROM actors""")
            for actor in actors_data:
                self.actors.append(actor[0])
            movies_data = self.cursor.execute("""SELECT Title, Year
                                                 FROM movies""")
            for movie in movies_data:
                self.movies[movie[0]] = movie[1]