Exemple #1
0
class TestCache(unittest.TestCase):

    def setUp(self):
        self.imdb = Imdb()

    def tearDown(self):
        shutil.rmtree(self.imdb.cache_dir, ignore_errors=True)

    def _get_cache_size(self):
        """ Returns a count of the items in the cache """
        cache = os.path.exists(self.imdb.cache_dir)
        if not cache:
            return 0
        _, _, cache_files = next(os.walk(self.imdb.cache_dir))
        return len(cache_files)

    def test_cache_populated(self):
        """ Tests the cache is populated correctly """
        self.imdb = Imdb({'cache': True, 'cache_dir': '/tmp/imdbpie-test'})

        self.assertEqual(self._get_cache_size(), 0)
        movie = self.imdb.find_movie_by_id("tt0382932")
        # Make a 2nd call to ensure no duplicate cache items created
        self.imdb.find_movie_by_id("tt0382932")

        # find makes 2 api calls
        self.assertEqual(self._get_cache_size(), 2)
        self.assertEqual(movie.title, 'Ratatouille')

    def test_cache_not_populated_when_disabled(self):
        """ Tests the cache is not populated when disabled (default) """
        self.assertEqual(self._get_cache_size(), 0)
        self.imdb.find_movie_by_id("tt0382932")
        self.assertEqual(self._get_cache_size(), 0)
Exemple #2
0
    def imdb(self):
        """Get IMDb data for release, set self.imdb_id to override auto match
        from movie title + year"""
        from imdbpie import Imdb

        imdb = Imdb()

        if not self.movie_release:
            return False

        imdb_id = None
        if hasattr(self, "imdb_id"):
            imdb_id = self.imdb_id

        # Find IMDb match by title and check if year is a match
        if not imdb_id:
            for imdb_match in imdb.find_by_title(self.movie_title):
                if int(imdb_match.get("year")) == self.movie_year:
                    imdb_id = imdb_match.get("imdb_id")
                    break

        # No IMDb match could be found from title + year
        if not imdb_id:
            return False

        return imdb.find_movie_by_id(imdb_id)
def net_search(name):
    #input=movie name
    #output=movie id from imdb

    imdb = Imdb({'anonymize': False})
    #~ movie = imdb.find_movie_by_id("tt0382932")
    #~ print movie.title

    if len(name) > 0:
        details = imdb.find_by_title(name)
        if len(details) > 0:
            #~ return imdb.find_movie_by_id(details[0]['imdb_id'])
            imdb_id = details[0]['imdb_id']
            #~ print imdb_id
            movie = imdb.find_movie_by_id(imdb_id)
            return movie
        else:
            #~ return NULL
            return -1
Exemple #4
0
def net_search(name):
	#input=movie name
	#output=movie id from imdb
	
	imdb = Imdb({'anonymize': False})
	#~ movie = imdb.find_movie_by_id("tt0382932")
	#~ print movie.title

	if len(name)>0:
		details=imdb.find_by_title(name)
		if len(details)>0:
			#~ return imdb.find_movie_by_id(details[0]['imdb_id'])
			imdb_id=details[0]['imdb_id']
			#~ print imdb_id
			movie=imdb.find_movie_by_id(imdb_id)
			return movie
		else:
			#~ return NULL
			return -1
Exemple #5
0
from imdbpie import Imdb
import unittest

imdb = Imdb({'anonymize': False})
movie = imdb.find_movie_by_id("tt0382932")


class TestTrailer(unittest.TestCase):

    def test_trailer_url(self):
        self.assertIsNotNone(movie.trailers)


if __name__ == '__main__':
    unittest.main()
Exemple #6
0
        self.assertEqual(
            images[0].url,
            'http://ia.media-imdb.com/images/M/MV5BOTAxNzI0ND'
            'E1NF5BMl5BanBnXkFtZTcwNjczMTk2Mw@@._V1_.jpg')

if __name__ == '__main__':
    unittest.main()

########NEW FILE########
__FILENAME__ = movie_test
from imdbpie import Imdb
import unittest
import re

imdb = Imdb({'anonymize': False})
movie = imdb.find_movie_by_id("tt0382932")


class TestTitle(unittest.TestCase):

    @staticmethod
    def valid_poster(poster_url):
        match = re.findall(r'http://ia.media-imdb.com/images/.*/', poster_url)[0]
        if match:
            return True
        else:
            return False

    def test_title(self):
        self.assertEqual(movie.title, 'Ratatouille')
Exemple #7
0
from imdbpie import Imdb
import re

imdb = Imdb({'anonymize' : False})
movie = imdb.find_movie_by_id("tt1210166")

def run_tests():
    global imdb

    print('have a trailer_url:')
    match = re.findall(r'http://ia.media-imdb.com/images/.*/', movie.trailer_url)[0]
    if match:
        print('passed')



if __name__ == '__main__':
    run_tests()
Exemple #8
0
from imdbpie import Imdb
import re

imdb = Imdb({'anonymize': False})
movie = imdb.find_movie_by_id("tt0382932")


def run_tests():
    global imdb

    print('have a title:')
    if movie.title == 'Ratatouille':
        print('passed')

    print('have an imdb id:')
    if movie.imdb_id == 'tt0382932':
        print('passed')

    print('have a tagline:')
    if movie.tagline == 'Dinner is served... Summer 2007':
        print('passed')

    print('have a plot:')
    if movie.plot == "Remy is a young rat in the French countryside who arrives in Paris, only to find out that his cooking idol is dead. When he makes an unusual alliance with a restaurant's new garbage boy, the culinary and personal adventures begin despite Remy's family's skepticism and the rat-hating world of humans.":
        print('passed')

    print('have a runtime:')
    if movie.runtime == '111 min':
        print('passed')

    print('have a rating:')
Exemple #9
0
from imdbpie import Imdb

imdb = Imdb({'anonymize': False,
             'locale': 'en_US',
             'exclude_episodes': False})
movie = imdb.find_movie_by_id('tt0705926')


def run_tests():
    """
    Overall tests not using unittests
    for a simple visual results overview
    """
    print((movie.title))
    print(('year', movie.year))
    print(('type', movie.type))
    print(('tagline', movie.tagline))
    print(('rating', movie.rating))
    print(('certification', movie.certification))
    print(('genres', movie.genres))
    print(('plot', movie.plot))
    print(('runtime', movie.runtime))
    print(('writers summary', movie.writers_summary))
    print(('directors summary', movie.directors_summary))
    print(('creators', movie.creators))
    print(('cast summary', movie.cast_summary))
    print(('full credits', movie.credits))

if __name__ == '__main__':
    run_tests()
Exemple #10
0
#https://github.com/richardasaurus/imdb-pie
from imdbpie import Imdb
imdb = Imdb()

# Creating an instance with caching enabled
# Note that the cached responses expire every 2 hours or so.
# The API response itself dictates the expiry time)
imdb = Imdb({'cache': True})
movie = imdb.find_movie_by_id("tt1210166")
print movie



Exemple #11
0
from imdbpie import Imdb

imdb = Imdb({'anonymize': False})


def run_tests():
    print(movie.title)
    print('year', movie.year)
    print('type', movie.type)
    print('tagline', movie.tagline)
    print('rating', movie.rating)
    print('genres', movie.genres)
    print('plot', movie.plot)
    print('runtime', movie.runtime)
    print('writers', movie.writers)
    print('directors', movie.directors)
    print('creators', movie.creators)
    print('cast summary', movie.cast_summary)
    print('full credits', movie.credits)

if __name__ == '__main__':
    movie = imdb.find_movie_by_id('tt0111161')
    run_tests()
Exemple #12
0
from imdbpie import Imdb

imdb = Imdb({'anonymize': False,
             'locale': 'en_US',
             'exclude_episodes': False})


def run_tests():
    """
    Overall tests not using unittests
    for a simple visual results overview
    """
    print((movie.title))
    print(('year', movie.year))
    print(('type', movie.type))
    print(('tagline', movie.tagline))
    print(('rating', movie.rating))
    print(('certification', movie.certification))
    print(('genres', movie.genres))
    print(('plot', movie.plot))
    print(('runtime', movie.runtime))
    print(('writers', movie.writers))
    print(('directors', movie.directors))
    print(('creators', movie.creators))
    print(('cast summary', movie.cast_summary))
    print(('full credits', movie.credits))

if __name__ == '__main__':
    movie = imdb.find_movie_by_id('tt0705926')
    run_tests()
Exemple #13
0
from imdbpie import Imdb

imdb = Imdb({"anonymize": False, "locale": "en_US", "exclude_episodes": False})


def run_tests():
    """
    Overall tests not using unittests
    for a simple visual results overview
    """
    print((movie.title))
    print(("year", movie.year))
    print(("type", movie.type))
    print(("tagline", movie.tagline))
    print(("rating", movie.rating))
    print(("certification", movie.certification))
    print(("genres", movie.genres))
    print(("plot", movie.plot))
    print(("runtime", movie.runtime))
    print(("writers summary", movie.writers_summary))
    print(("directors summary", movie.directors_summary))
    print(("creators", movie.creators))
    print(("cast summary", movie.cast_summary))
    print(("full credits", movie.credits))


if __name__ == "__main__":
    movie = imdb.find_movie_by_id("tt0705926")
    run_tests()