from aesop.processor import catalog_videos from aesop import events from aesop.utils import setup_logging log = logbook.Logger('aesop.processor') parser = argparse.ArgumentParser() parser.add_argument( '--log-level', default='INFO', help="Log Level. Must be one of CRITICAL, ERROR, WARNING, INFO or DEBUG") options = parser.parse_args() try: setup_logging('aesop.processor', 'INFO') except LookupError: parser.error("--log-level must be one of CRITICAL, ERROR, WARNING, INFO or DEBUG") init() max_lookups = int(Config.get('processor', 'concurrency', default=50)) sources = list(Source.select(Source.path, Source.type)) events.info.blocking("Starting scan") log.info("Starting scan") total = unscanned = removed = 0 for source in sources: t, u, r = catalog_videos(database_proxy, source, max_lookups)
append = True first = False else: self.player.play(path, append=append) @asyncio.coroutine def ws_queue_season(self, id, season): return self.ws_play_season(id, season, append=True) def get_movie_or_tv_show(path): try: media = TVShowEpisode.select().where(TVShowEpisode.path == path).get() except TVShowEpisode.DoesNotExist: media = Movie.select().where(Movie.path == path).get() return media @asyncio.coroutine def broadcast_player_property(attribute, value): yield from events.broadcast(type="player", attribute=attribute, value=value) if __name__ == "__main__": setup_logging("aesop.player", "INFO") init() server = Server() asyncio.get_event_loop().run_until_complete(server.start()) log.info("Player started on port 5002") asyncio.get_event_loop().run_forever()
log.exception("Could not write to {}", path) continue log.info("Downloaded {} subtitle for {} to {}", nicename, path, subpath) return subpath def main(): listener = events.listener('download-subtitle', 'list-subtitles') while True: event = yield from listener.wait() if event is None: break if event.type == 'list-subtitles': subtitles = yield from from_opensubtitles(event.path) languages = sorted(set(s.lang for s in subtitles)) log.info("Available languages for {}: {}", event.path, languages) yield from events.broadcast('available-subtitles', path=event.path, languages=languages) else: result = yield from download_subtitles(event.path, event.language) if result: yield from events.broadcast('subtitle-downloaded', path=str(result), video_path=event.path, language=event.language) if __name__ == '__main__': setup_logging('aesop.ui', 'INFO') loop = asyncio.get_event_loop() loop.run_until_complete(main())
def main(): setup_logging('aesop.events', 'INFO') loop = asyncio.get_event_loop() loop.run_until_complete(websockets.serve(server, '0.0.0.0', 5001)) log.info("Client event server started on port 5001") loop.run_forever()