Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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))
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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):
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
# 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'])

Exemplo n.º 8
0
 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)