#!/usr/bin/env python2 # coding: utf-8 # python3 works as well import os import sys import shutil import dbm try: import tmdbsimple as tmdb except ImportError as e: print(u"Missing dependency: {0}".format(str(e))) print(u"Install using system package manager or `pip install --user `") sys.exit(1) def read_key(): if u"TMDB_KEY" in os.environ.keys(): return os.environ[u"TMDB_KEY"] if u"XDG_CONFIG_HOME" in os.environ.keys(): cfg_home = os.environ[u"XDG_CONFIG_HOME"] else: cfg_home = os.path.join(os.path.expanduser(u"~"), ".config") if os.path.exists(os.path.join(cfg_home, u"tmdbkey")): return open(os.path.join(cfg_home, u"tmdbkey"), "r").read().strip() if os.path.exists(os.path.join(os.path.expanduser(u"~"), ".tmdbkey")): return open(os.path.join(os.path.expanduser(u"~"), ".tmdbkey")).read().strip() raise Exception(u"No TheMovieDB Key defined. Set Env. var. TMDB_KEY or .tmdbkey file") def get_rating(imdb_id): return tmdb.Find(id=imdb_id).info(external_source="imdb_id")['movie_results'][0]['vote_average'] if __name__ == u"__main__": tmdb.API_KEY = read_key() imdb_id = sys.argv[1] db = dbm.open('cache', 'rw') if imdb_id not in db.keys(): db[imdb_id] = str(get_rating(imdb_id)) print db[imdb_id] db.close()