def _scan_file(self, filename): filepath = os.path.join(self.root_path, filename) open(filepath, "w+").close() controller = NMJUpdater(self.root_path, "popcorn/path/to/the/library") controller.search_media_and_add( MediaFile(filepath, relative_path=filepath[len(self.root_path):])) return controller
def test_01a(self): path = "pilip/polop.avi" media_file = MediaFile(path) db = DBProxy(self.root_path) inserter1 = MovieDBInserter(db, media_file) self.assertTrue(db.contains(Videos, path=path)) inserter2 = MovieDBInserter(db, media_file) self.assertEqual(inserter1.video_id, inserter2.video_id) self.assertEqual(1, len(db.get_tables_items(Videos)))
def clean(self): videos = self.db.get_tables_items(Videos) for video in videos: filepath = os.path.join(self.base_dir, video.path) if os.path.isfile(filepath): continue _LOGGER.info("%s should be clean", filepath) self.clean_media( MediaFile(filepath, relative_path=filepath[len(self.base_dir):]))
def insertshows(self, db, number): for rank in range(number): MovieDBInserter(db, MediaFile("pilip/polop%d.avi" % rank))
rating="", parental_control="", runtime=0, synopsis="", posters=[], wallpapers=[], persons=[], genres=[]) def get_details(self, search_result): return self.get_details_from_id(search_result.search_id) def clean(self, title): return MovieCleaner().clean_title(title) if __name__ == "__main__": # pragma: no cover from nmj.abstract import MediaFile from nmj.utils import print_details import sys logging.basicConfig(level=logging.DEBUG) scanner = TMDBScanner() #scanner.get_details(MovieSearchResult(160320, "http://d3gtl9l2a4fn1j.cloudfront.net/t/p/original/ejre3MX3Yf8vfjxjkhMV96nBJdp.jpg", "One Day...", "path")) result = scanner.get_details(scanner.search(MediaFile(sys.argv[1]))[0]) print_details(result) #pprint(result.wallpapers) # for attr in dir(result): # if not attr.startswith("_"): # print("%s : %s" % (attr, getattr(result, attr)))
def __test_cleaning(self, basename, show, season="01", episode="01"): details = self.scanner.get_details_from_media(MediaFile(basename, basename)) self.assertEqual(show, details.get("show_name", "")) self.assertEqual(season, details.get("season", "01")) self.assertEqual(episode, details.get("episode", "01"))
title = episode_title, rank = search_result.episode, search_title = self.get_search_title(episode_title), release_date="%s" % episode.FirstAired, rating=episode.Rating, synopsis=episode.Overview, persons=main_actors + guests + director, genres=genres, runtime=0, ), ) def clean(self, title): return TVShowCleaner().clean_title(title) if __name__ == "__main__": # pragma: no cover import sys from nmj.abstract import MediaFile logging.basicConfig(level=logging.DEBUG) scanner = TTVDB3Scanner() for video in sys.argv[1:]: search_result=scanner.search(MediaFile(video)) result = scanner.get_details(search_result[0]) # print_details(result) # print_details(result.show) result.season.posters[0].download(".", video) result.season.thumbnails[0].download(".", video) # print_details(result.episode)
ttid=show["imdbId"], content_id=show["id"], title=episode_title, rank=search_result.episode, search_title=self.get_search_title(episode_title), release_date=episode["firstAired"], rating=episode["rating"], synopsis=episode["overview"], persons=main_actors + guests + director, genres=genres, runtime=0, ), ) def clean(self, title): return TVShowCleaner().clean_title(title) if __name__ == "__main__": # pragma: no cover import sys from nmj.abstract import MediaFile logging.basicConfig(level=logging.INFO) scanner = TTVDBScanner() search_res = scanner.search(MediaFile(sys.argv[1])) result = scanner.get_details(search_res[0]) # print(result) print(type(result.show.release_date)) # result.show.download_thumbnail() #result.show.download_wallpapers()
def get_details(self, show_id): show = self.db.get_first(Shows, id=show_id) showvideos = self.db.get_first(ShowsVideos, shows_id=show_id) video = self.db.get_first(Videos, id=showvideos.videos_id) scanner = self.get_scanner(MediaFile(video.path)) return scanner.get_details_from_id(show.ttid)
def create_media_file(self, file_path): return MediaFile(file_path, relative_path=file_path[len(self.base_dir):])