def main(send=False): key = get_value('key') html = None # get movie info for all categories for cat in CATEGORIES: td = Tmdb(key, cat) movies = td.get_movies(NUM_RES) ca = Cache(os.path.basename(cat)) ca.shelve_results(movies) newMovies = ca.shelve_results(movies) movieObjects = ca.shelve_get_items(newMovies) # only new ones op = Output(movieObjects) if html is None: html = [op.generate_header()] catPrettified = cat.title().replace("_", " ") html.append(op.generate_category_title(catPrettified)) html.append(op.generate_movie_html_div()) # save html f = open(OUTFILE, "w") f.write("\n".join(html)) f.close() # email if send: subject = "Sharemovi.es / %s movies / week %s" % (", ".join(CATEGORIES), str(THIS_WEEK)) sender = get_value('sender') recipients = load_emails('recipients') ma = Mail(sender) ma.mail_html(recipients, subject, "\n".join(html))
def main(send=False): key = get_value('key') html = None # get movie info for all categories for cat in CATEGORIES: td = Tmdb(key, cat) movies = td.get_movies(NUM_RES) ca = Cache(os.path.basename(cat)) ca.shelve_results(movies) newMovies = ca.shelve_results(movies) movieObjects = ca.shelve_get_items(newMovies) # only new ones op = Output(movieObjects) if html is None: html = [op.generate_header()] catPrettified = cat.title().replace("_", " ") html.append(op.generate_category_title(catPrettified)) html.append(op.generate_movie_html_div()) # save html f = open(OUTFILE, "w") f.write("\n".join(html)) f.close() # email if send: subject = "Sharemovi.es / %s movies / week %s" % ( ", ".join(CATEGORIES), str(THIS_WEEK)) sender = get_value('sender') recipients = load_emails('recipients') ma = Mail(sender) ma.mail_html(recipients, subject, "\n".join(html))
def main(): (opts, args) = cli() key = get_value('key') td = Tmdb(key, opts.category) if opts.listing: li = Listing(opts.category) movies = li.get_movies() prefix = "list_" subject = "Week %s: %s" % (THIS_WEEK, li.title) else: movies = td.get_movies(opts.numres) prefix = "" subject = "%s movies - week %s" % (opts.category.title().replace("_", " "), THIS_WEEK) ca = Cache(prefix + os.path.basename(opts.category)) newMovies = ca.shelve_results(movies) if opts.listing: movieObjects = ca.shelve_get_items(movies) # allow dups else: movieObjects = ca.shelve_get_items(newMovies) # only new ones op = Output(movieObjects) html = [op.generate_header()] html.append(op.generate_movie_html_div()) if opts.printres: print "\n".join(html) if opts.mailres: sender = get_value('sender') recipients = load_emails('recipients') ma = Mail(sender) ma.mail_html(recipients, subject, "\n".join(html))
from datetime import datetime import os import locale import random import html from movie import Movie from person import Person from omdb import Omdb from tmdb import Tmdb # locale.setlocale(locale.LC_ALL, 'fr_FR') api_key_tmdb = os.environ['TMDB_API_KEY'] tmdb = Tmdb(api_key_tmdb) api_key_omdb = os.environ['OMDB_API_KEY'] omdb = Omdb(api_key_omdb) def connectToDatabase(): passw = os.environ['MYSQL_PASSWORD'] return mysql.connector.connect(user='******', password=passw, host='database', database='predictor') def disconnectDatabase(cnx): cnx.close()
import os from bs4 import BeautifulSoup import time from movie import Movie from person import Person from tmdb import Tmdb from dbfactory import DbFactory from moviefactory import MovieFactory from peoplefactory import PeopleFactory from rolefactory import RoleFactory from moviepeoplerolefactory import MoviePeopleRoleFactory from setparser import Parser api_key = os.environ['TMDB_API_KEY'] tmdb = Tmdb(api_key) moviefactory = MovieFactory() peoplefactory = PeopleFactory() rolefactory = RoleFactory() moviepeoplerolefactory = MoviePeopleRoleFactory() parser = Parser() args = parser.set_parser() def print_person(people): print("#{}: {} {}".format(person.id, person.firstname, person.lastname)) def print_movie(movie):
if args.file: with open(args.file, 'r', newline='\n', encoding='utf-8') as csvfile: reader = csv.DictReader(csvfile) for row in reader: movie = Movie(row['title'], row['original_title'], row['duration'], row['rating'], row['release_date']) mov_man.insertMovie(movie) # insertMovieDict(row) if args.api == 'omdb': api = Omdb() movie = api.get_imdb_movie(args.imdbId) mov_man.insertMovie(movie) elif args.api == 'tmdb': api = Tmdb() movie = api.get_imdb_movie(args.imdbId) mov_man.insertMovie(movie) elif args.new_movies: api = Tmdb() now = datetime.today() last_week = now - timedelta(days=args.new_movies) movies = api.get_movies_by_dates(from_date=str(last_week.date()), to_date=str(now.date())) for movie in movies: if movie.imdb_id is None: continue movie_id = mov_man.insertMovie(movie) movie_id = mov_man.find_movie_id(movie.imdb_id) crew = api.get_credits(movie.imdb_id) role_ids = range(1, 6)
# Connection SQL def isOpen(ip,port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect((ip, int(port))) s.shutdown(2) return True except: return False def connectToDatabase(): host=os.environ["DB_HOST"] while isOpen(host, 3306) == False: time.sleep(5) print("Waiting for Database") return mysql.connector.connect(user='******', password='******', host=host, database='predictor') connectToDatabase() # Extraction T = Tmdb() T.extract(config['USER']['page'], config['USER']['key_tmdb'], config['USER']['year'])
def get_people(fullname): print("On passe quand même par TMDB parce qu'on peut pas chercher des personnes sur OMDB (:>*") return Tmdb.get_people(fullname)