def series_info(series_id): content = '' cache_file = xbmc.translatePath(generic_utility.cache_dir() + series_id + '_episodes.cache') if xbmcvfs.exists(cache_file) and (time.time() - xbmcvfs.Stat(cache_file).st_mtime() < 60 * 5): file_handler = xbmcvfs.File(cache_file, 'rb') content = generic_utility.decode(file_handler.read()) file_handler.close() if not content: url = generic_utility.series_url % (generic_utility.get_setting('api_url'), series_id) content = connect.load_netflix_site(url) file_handler = xbmcvfs.File(cache_file, 'wb') file_handler.write(generic_utility.encode(content)) file_handler.close() return content
def video_info(video_id, lock = None, ignore_cache = False): content = '' cache_file = xbmc.translatePath(generic_utility.cache_dir() + video_id + '.cache') if not ignore_cache and xbmcvfs.exists(cache_file): file_handler = xbmcvfs.File(cache_file, 'rb') content = generic_utility.decode(file_handler.read()) file_handler.close() if not content: post_data = generic_utility.video_info % (video_id, video_id, video_id, video_id, generic_utility.get_setting('authorization_url')) content = connect.load_netflix_site(generic_utility.evaluator(), post=post_data, lock = lock) file_handler = xbmcvfs.File(cache_file, 'wb') file_handler.write(generic_utility.encode(content)) file_handler.close() return content
def get_movies_data(): video_data = {} ret = generic_utility.decode(xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "id": 0, "method": ' '"VideoLibrary.GetMovies", ' '"params": {"properties":["file", "playcount"] } }')) jsn = json.loads(ret) if 'result' in jsn: result = jsn['result'] if 'movies' in result: movies = result['movies'] for movie in movies: regexp_res = re.search('\.V(.*)V\.strm', movie['file']) if regexp_res: video_id = regexp_res.group(1) video_data[video_id] = {'movie_id': movie['movieid'], 'playcount': movie['playcount']} return video_data