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
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"
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!!!"
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!!!"
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")
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]