Пример #1
0
def get_list_by_name(zapros):
    set_key('c97c17e619252e35bad2e158d4211fcc')
    set_locale('ru', 'ru')
    set_cache(engine='file', filename='/home/swasher/kinobox/.tmdb3cache')

    results = searchMovie(zapros)
    answer=[]
    i=0
    for movie in results[0:10]:
        mov=kino()
        #print unicode(results[i])
        searchResult = results[i]
        mov.id=searchResult.id
        mov.title=searchResult.title
        mov.year=str(searchResult.releasedate)[0:4]
        mov.overview=searchResult.overview
        mov.url='http://www.themoviedb.org/movie/'+str(mov.id)
        mov.origname=searchResult.originaltitle
        try:
            mov.altname=searchResult.alternate_titles[0].title
        except:
            mov.altname=''
        try:
            mov.poster=searchResult.poster.geturl(size='w154')
        except:
            mov.poster=''
        answer.append(mov)
        i+=1
    return answer
Пример #2
0
def process_movies(dir):
    set_key(API_KEY) #store this key somewhere
    set_locale()

    dir = expand(dir)

    movies = list()
    moviesToDisplay = loadfromfile(dir)

    if not moviesToDisplay:
        moviesToDisplay = list()

    titles = list()

    for m in moviesToDisplay:
        titles.append(m.title)

    explore(dir)

    for f in fileset:
        if f.fulltitle in titles:
            continue

        result = searchMovie(f.fulltitle)

        if len(result) == 0:
            if f.filename not in notfound:
                notfound.append(f.filename)
            print "Couldn't find results for: " + f.fulltitle + " result = " + str(result)
            continue

        # print "**** Found results for: " + f.fulltitle + " result = " + str(result[0])

        movie = result[0] if len(result) > 0 else None
        movies.append(movie)

    for m in movies:
        if not m:
            continue

        if m.id in movieids:
            continue

        p = m.poster

        if p:
            d = DisplayMovie(m,  p.geturl('w154'),)
        else:
            d = DisplayMovie(m, '',)

        if m.id in movieids:
            continue

        pos = bisect.bisect(movieids, m.id)
        movieids.insert(pos, m.id)

        moviesToDisplay.append(d)

    writetofile(dir, moviesToDisplay)
    return sorted(moviesToDisplay, key=lambda x: x.movie.title)
Пример #3
0
 def from_tmdb(the_movie, download_poster=True):
     director = ''
     if len(the_movie.crew) > 0:
         directors = [person.name for person in the_movie.crew if person.job == 'Director']
         director = ','.join(directors)
     cast = ';'.join([u'{0}: {1} '.format(person.name, person.character) for person in the_movie.cast])
     #runtime in it_IT locale is not set so we get from the en_US
     #TODO: move to the MovieDb
     tmdb3.set_locale('en', 'US')
     runtime = tmdb3.Movie(the_movie.id).runtime
     tmdb3.set_locale(config.cfg['LANG'], config.cfg['COUNTRY'])
     year = the_movie.releasedate.year if the_movie.releasedate else 0
     imagefile = ''
     if the_movie.poster:
         image_url = the_movie.poster.geturl('w185')
         if download_poster:
             queue = PosterDownloadQueue()
             poster_urls = set((the_movie.poster.geturl(size), dir_for_size[size])
                               for size in dir_for_size.keys())
             queue.to_download.update(poster_urls)
             bname = os.path.basename(image_url)
             imagefile = bname
         else:
             imagefile = image_url
     return Movie(title=the_movie.title, director=director, cast=cast, overview=the_movie.overview, year=year,
                  runtime=runtime, imagefile=imagefile, tmdbID=the_movie.id)
Пример #4
0
	def tmdb_info(self):
		from tmdb3 import searchSeries, set_cache, set_key, set_locale, get_locale
		set_key('587c13e576f991c0a653f783b290a065')
		set_cache(filename='/tmp/tmdb3.cache')
		set_locale('en', 'us')
		_locale = get_locale()

		try:
			tmdb_results = searchSeries(self.title, first_air_date_year=self.year, locale=_locale)
			for _series in tmdb_results:
				if self.country:
					if not self.country in _series.origin_countries:
						continue
				if self.year:
					if not self.year == _series.first_air_date.year():
						continue
				if self.title == decode(_series.name):
					raise GetOutOfLoop(_series)
			raise SeriesNotFound("Series Not Found in TMDb: {}".format(self.title))
		except GetOutOfLoop, e:
			_series = e.message
			alias = {'name': 'title',
					'id': 'tmdb_id',
					'origin_countries': 'country'}
			for key in dir(_series):
				if key[:1] == '_': continue
				if key in alias: key2 = alias[key]
				else: key2  = key
				if not hasattr(self, key2):
					continue
				setattr(self, key2, decode(getattr(_series, key)))
Пример #5
0
def init_tmdb3(alternative_lang=None):
    tmdb3.set_key('1f834eb425728133b9a2c1c0c82980eb')
    tmdb3.set_cache('null')
    lng = alternative_lang or config.plugins.tmbd.locale.value
    try:
        tmdb3.set_locale(lng, lng.upper())
    except:
        tmdb3.set_locale('en', 'GB')
    return tmdb3
Пример #6
0
    def __init__(self):
        addEvent('movie.info', self.getInfo, priority = 1)
        addEvent('movie.info_by_tmdb', self.getInfo)
        
        addEvent('info.search', self.search, priority = 1)
        addEvent('movie.search', self.search, priority = 1)

        # Configure TMDB settings
        tmdb3.set_key(self.conf('api_key'))
        tmdb3.set_locale(self.conf('locale', None))
        tmdb3.set_cache('null')
Пример #7
0
    def tmdb_info(self):
        from tmdb3 import searchSeries, set_cache, set_key, set_locale, get_locale
        set_key('587c13e576f991c0a653f783b290a065')
        set_cache(filename='/tmp/tmdb3.cache')
        set_locale('en', 'us')
        _locale = get_locale()

        try:
            tmdb_results = searchSeries(self.title,
                                        first_air_date_year=self.year,
                                        locale=_locale)
            for _series in tmdb_results:
                if self.country:
                    if not self.country in _series.origin_countries:
                        continue
                if self.year:
                    if not self.year == _series.first_air_date.year():
                        continue
                if self.title == decode(_series.name):
                    raise GetOutOfLoop(_series)
            raise SeriesNotFound("Series Not Found in TMDb: {}".format(
                self.title))
        except GetOutOfLoop, e:
            _series = e.message
            alias = {
                'name': 'title',
                'id': 'tmdb_id',
                'origin_countries': 'country'
            }
            for key in dir(_series):
                if key[:1] == '_': continue
                if key in alias: key2 = alias[key]
                else: key2 = key
                if not hasattr(self, key2):
                    continue
                setattr(self, key2, decode(getattr(_series, key)))
Пример #8
0
from __future__ import unicode_literals

from django.conf import settings
import tmdb3


tmdb3.set_key(settings.TMDB_API_KEY)
tmdb3.set_locale('hu', 'hu')
Пример #9
0
import tmdb3
from django.conf import settings

tmdb3.set_locale()
tmdb3.set_key(settings.TMDB_KEY)

tmdb_url = 'http://api.themoviedb.org/3/'

def list_to_2d(lst, row_length=4):
	outList = []
	i=0
	for itm in lst:
		if i%row_length == 0:
			clist = []
			outList.append(clist)
		clist.append(itm)
		i += 1
	return outList

def find_best_size(sizes, trg):
        for sz in sizes:
                if sz[0] == 'w':
                        if int(sz[1:])>=trg: return sz

        return sizes[-1]

Пример #10
0
def init_tmdb3(alternative_lang=None):
    import tmdb3
    tmdb3.set_key('1f834eb425728133b9a2c1c0c82980eb')
    tmdb3.set_cache('null')
    lng = alternative_lang or config.plugins.tmbd.locale.value
    if lng == 'en':
        tmdb3.set_locale(lng, 'US')
    elif lng == 'el':
        tmdb3.set_locale(lng, 'GR')
    elif lng == 'cs':
        tmdb3.set_locale(lng, 'CZ')
    elif lng == 'da':
        tmdb3.set_locale(lng, 'DK')
    elif lng == 'uk':
        tmdb3.set_locale('en', 'GB')
    elif lng == 'fy':
        tmdb3.set_locale(lng, 'NL')
    else:
        try:
            tmdb3.set_locale(lng, lng.upper())
        except:
            tmdb3 = None
    return tmdb3
Пример #11
0
def init_tmdb3():
    tmdb3.set_key(config['apikey'])
    tmdb3.set_cache('null')
    lng = config['locale']
    if lng == 'en':
        tmdb3.set_locale(lng, 'US')
    elif lng == 'el':
        tmdb3.set_locale(lng, 'GR')
    elif lng == 'cs':
        tmdb3.set_locale(lng, 'CZ')
    elif lng == 'da':
        tmdb3.set_locale(lng, 'DK')
    elif lng == 'uk':
        tmdb3.set_locale('en', 'GB')
    elif lng == 'fy':
        tmdb3.set_locale(lng, 'NL')
    else:
        tmdb3.set_locale(lng, lng.upper())
    print('tmdbv3 locale', tmdb3.get_locale())
    return tmdb3
Пример #12
0
from tmdb3 import set_key
import json
import requests
import os

API = '259f7fc6b26292afaf6ec1dabe6fdd6a'
set_key(API)

from tmdb3 import set_cache
set_cache('null')
set_cache(filename='/full/path/to/cache')  # the 'file' engine is assumed
set_cache(filename='tmdb3.cache')  # relative paths are put in /tmp
set_cache(engine='file', filename='~/.tmdb3cache')

from tmdb3 import get_locale, set_locale
set_locale()
print(get_locale())
#locale has bet set to english and United States...yes
print
print
'''import urllib2 #import Request#, urlopen headers = {"Accept": "application/json"}

request = urllib2.Request("https://api.themoviedb.org/3/search/movie?api_key="+API+"&query=Foxx")
responsebody = urllib2.urlopen(request).read()
print responsebody
print
print'''

import tmdb3
search = 'Hanks'
a = tmdb3.searchPerson(search)
def init_tmdb3(alternative_lang=None):
    import tmdb3
    tmdb3.set_key('1f834eb425728133b9a2c1c0c82980eb')
    tmdb3.set_cache('null')
    lng = alternative_lang or config.plugins.tmbd.locale.value
    if lng == 'en':
        tmdb3.set_locale(lng, 'US')
    elif lng == 'el':
        tmdb3.set_locale(lng, 'GR')
    elif lng == 'cs':
        tmdb3.set_locale(lng, 'CZ')
    elif lng == 'da':
        tmdb3.set_locale(lng, 'DK')
    elif lng == 'uk':
        tmdb3.set_locale('en', 'GB')
    elif lng == 'fy':
        tmdb3.set_locale(lng, 'NL')
    else:
        try:
            tmdb3.set_locale(lng, lng.upper())
        except:
            tmdb3 = None
    return tmdb3
Пример #14
0
def add_tmdb_movie(id):
    set_key('c97c17e619252e35bad2e158d4211fcc')
    set_locale('ru', 'ru')
    set_cache(engine='file', filename='/home/swasher/kinobox/.tmdb3cache')

    m = Movi()

    try:
        mov = Movie(id)
    except:
        pass
        #обработать (не нашло фильм, или ппц ваще) sys.exc_info()[0].__dict__

    m.title=mov.title
    m.overview=mov.overview
    m.origtitle=mov.originaltitle
    m.tmdb_id=mov.id
    m.year=str(mov.releasedate)[0:4]
    m.seen=False
    m.seendate=datetime.date.today()
    m.myrating=0
    m.stored=True
    m.adddate=datetime.date.today()
    m.tagline=mov.tagline
    m.save()

    try:
        poster = urllib.urlretrieve(mov.poster.geturl(size='w92'))
        m.poster.save('poster_'+'w92_'+str(id)+'.jpg', File(open(poster[0])))
    except:
        #отсутствует постер
        #print sys.exc_info()[0].__dict__
        #{'__module__': 'tmdb3.tmdb_exceptions', '__doc__': None}
        #print 'cant retrieve'
        # если не обрабатывать - просто получается пустое поле, его можно обработать дальше
        poster = urllib.urlretrieve(mov.poster.geturl(size='w92'))
        m.poster.save('poster_'+'w92_'+str(id)+'.jpg', File(open(poster[0])))
        pass

    try:
        posterbig = urllib.urlretrieve(mov.poster.geturl(size='w500'))
        m.posterbig.save('poster_'+'w500_'+str(id)+'.jpg', File(open(posterbig[0])))
    except:
        pass

    #get counries
    countries = mov.countries
    l = ''
    for country in countries:
        if country.name=='United States of America':
            l+='USA'+', '
        else:
            l+=country.name+', '
    m.countries=l[:-2]

    genres = mov.genres
    genre_list=[]
    for genre in genres:
        genre_list.append(genre.name)

    for genre in genre_list:
        try:
            # пытаемся найти жанр по названию
            gen=Genre.objects.filter(genre=genre)[0]
        except:
            # Если не найден, возникает исключение, и мы создаем новый жанр.
            # Исключение возникает из-за попытки взять нулевой элемент пустого тупла
            g=Genre(genre=genre)
            g.save()
            gen=Genre.objects.filter(genre=genre)[0]
        m.genres.add(gen)
        m.save()

    cast=mov.cast
    for actor in cast:
        try:
            pers=Person.objects.filter(name=actor.name)[0]
        except:
            #если актера actor.name нет в базе, то вызывется исключение, актер добавляется, и обзывется как pers
            p = Person(name=actor.name, tmdb_id=actor.id)
            p.save()
            pers=Person.objects.filter(name=actor.name)[0]

            #если актера до сих пор небыло, то добавляем фото
            #todo в дальнейшем это убрать - сделать даунлоад фото, когда актер star-рится
            try:
                photo = urllib.urlretrieve(actor.profile.geturl(size='w45'))
                p.photo.save('photo_'+'w45_'+str(actor.id)+'.jpg', File(open(photo[0])))
            except:
                #отсутствует постер
                #print sys.exc_info()[0].__dict__
                #{'__module__': 'tmdb3.tmdb_exceptions', '__doc__': None}
                #print 'cant retrieve'
                # если не обрабатывать - просто получается пустое поле, его можно обработать дальше
                pass

        # В это месте у нас есть объекты фильма 'm' и актера 'pers'
        d = Duty(person=pers, movi=m, department='', character=actor.character, job='', order=actor.order)
        d.save()
Пример #15
0
# -*- coding: UTF-8 -*-
from urllib2 import urlopen, HTTPError
from HTMLParser import HTMLParser
from traceback import print_exc
from xml.dom import minidom
from sys import exit
import datetime
import re
import tmdb3
import tvdb_api
tmdb3.set_key('50d210cbe126f116d13b83239d0f18d0')
tmdb3.set_locale('en', 'US')


class rewiredBotPlugin():
    """IMDb.com plugin"""
    def __init__(self, parent, *args):
        self.parent = parent
        self.defines = "!imdb"
        self.privs = {'!imdb': 1}

    def run(self, params, *args):
        """!imdb: Usage: !imdb imdbid/Text
        Searches imdb.com for movies and tv shows.
        When a search term is given. It will respond with a list
        of results to choose from. When called with a imdbid instead:
        !imdb tt0099785
        the plugin will look up the movie on imdb and post a overview into chat.
        ___"""
        if not params:
            return "Usage: !imdb SearchText"
Пример #16
0
from tmdb3 import set_cache
from tmdb3 import set_locale
from tmdb3 import List


# Set personal key to API access
set_key('0ba74440350bf374cee4a9b89f7249a8')

# Caches data to limit excessive usage against API server
set_cache('null')
set_cache(filename='/full/path/to/cache')
set_cache(filename='tmdb3.cfrom random import randintache')
set_cache(engine='file', filename='~/.tmdb3cache')

# Set language and country configuration for API data
set_locale('en', 'us')


now_playing = []
coming_soon = []
modern_classics = []
classics = []


for x in range(0, len(List(35555).members)):
    media_title = List(35555).members[x].title.replace(' ', '_')
    media_title = media.Media(
        List(35555).members[x].title,
        List(35555).members[x].poster.geturl().replace(
            'original', 'w300_and_h450_bestv2'),
        List(35555).members[x].youtube_trailers[0].geturl(),
Пример #17
0
 def init_tmdb():
     """Initialize TMDb api"""
     tmdb3.set_key(config.cfg['API_KEY'])
     tmdb3.set_cache(engine='file', filename=config.cfg['CACHEPATH']+'/.tmdb3cache')
     tmdb3.set_locale(config.cfg['LANG'], config.cfg['COUNTRY'])
Пример #18
0
 def __init__(self, api_key, movie_id):
     tmbd.set_key(api_key)
     tmbd.set_cache('null')
     tmbd.set_locale('en', 'US')
     self.movie = tmbd.Movie(movie_id)
Пример #19
0
def init_tmdb():
    tmdb3.set_key(settings.TMDB_KEY)
    tmdb3.set_cache(filename=settings.TMDB_CACHE_PATH)
    tmdb3.set_locale(*settings.LOCALES[settings.LANGUAGE_CODE])
    return tmdb3
Пример #20
0
#!/usr/bin/env python

from config import apiKeys

from util import jsonify

from tmdb3 import set_key
from tmdb3 import set_cache
from tmdb3 import set_locale
from tmdb3 import searchMovie, searchPerson, searchSeries
from tmdb3 import Movie, Person, Collection, Studio, Series, Season, Episode

set_key(apiKeys['tmdb'])
set_cache('null')
set_locale('en', 'gb')

@jsonify
def getPersonInfo(person):
	
	personInfo = {}

	personInfo['name'] = person.name
	personInfo['adult'] = person.adult
	personInfo['biography'] = person.biography

	personInfo['aliases'] = []
	for alias in person.aliases:
		personInfo['aliases'].append(alias)

	personInfo['birthplace'] = person.birthplace
	personInfo['birthdate'] = str(person.dayofbirth)