def on_frontend_started(): """Perform startup actions that should happen after the frontend is already up and running. This function happens using an idle iterator. Before/after code that could take a while to run, we yield to other eventloop callbacks. """ conversions.conversion_manager.startup() item.setup_metadata_manager() item.setup_change_tracker() app.sharing_tracker = sharing.SharingTracker() app.sharing_manager.startup() app.sharing_tracker.start_tracking() app.device_manager = devices.DeviceManager() app.device_tracker = devicetracker.DeviceTracker() app.device_tracker.start_tracking() reconnect_downloaders() guide.download_guides() feed.remove_orphaned_feed_impls() app.download_state_manager = downloader.DownloadStateManager() app.download_state_manager.init_controller() itemsource.setup_handlers() if app.frontend_name == 'widgets': app.donate_manager = donate.DonateManager() else: logging.warn("frontend is %s, not starting DonateManager()", app.frontend_name) logging.info("Starting auto downloader...") autodler.start_downloader() app.icon_cache_updater.start_updates() yield None feed.expire_items() yield None commandline.startup() yield None autoupdate.check_for_updates() yield None app.local_metadata_manager.schedule_retry_net_lookup() # Delay running high CPU/IO operations for a bit eventloop.add_timeout(5, app.download_state_manager.startup_downloader, "start downloader daemon") eventloop.add_timeout(10, workerprocess.startup, "start worker process") eventloop.add_timeout(20, item.start_deleted_checker, "start checking deleted items") eventloop.add_timeout(30, feed.start_updates, "start feed updates") eventloop.add_timeout(60, item.update_incomplete_metadata, "update metadata data") eventloop.add_timeout(90, clear_icon_cache_orphans, "clear orphans")
def on_frontend_started(): """Perform startup actions that should happen after the frontend is already up and running. This function happens using an idle iterator. Before/after code that could take a while to run, we yield to other eventloop callbacks. """ conversions.conversion_manager.startup() app.sharing_tracker = sharing.SharingTracker() app.sharing_manager.startup() app.sharing_tracker.start_tracking() app.device_manager = devices.DeviceManager() app.device_tracker = devicetracker.DeviceTracker() app.device_tracker.start_tracking() reconnect_downloaders() guide.download_guides() feed.remove_orphaned_feed_impls() app.download_state_manager.init_controller() itemsource.setup_handlers() if app.frontend_name == 'widgets': app.donate_manager = donate.DonateManager() else: logging.warn("frontend is %s, not starting DonateManager()", app.frontend_name) logging.info("Starting auto downloader...") autodler.start_downloader() app.icon_cache_updater.start_updates() yield None feed.expire_items() yield None commandline.startup() yield None autoupdate.check_for_updates() yield None app.local_metadata_manager.schedule_retry_net_lookup() # Delay running high CPU/IO operations for a bit eventloop.add_timeout(5, app.download_state_manager.startup_downloader, "start downloader daemon") eventloop.add_timeout(10, workerprocess.startup, "start worker process") eventloop.add_timeout(20, item.start_deleted_checker, "start checking deleted items") eventloop.add_timeout(30, feed.start_updates, "start feed updates") eventloop.add_timeout(60, item.update_incomplete_metadata, "update metadata data") eventloop.add_timeout(90, clear_icon_cache_orphans, "clear orphans")
logging.info("Loading video converters...") conversions.conversion_manager.startup() app.device_manager = devices.DeviceManager() app.device_tracker = devicetracker.DeviceTracker() searchengines.create_engines() setup_global_feeds() # call fix_database_inconsistencies() ASAP after the manual feed is set up fix_database_inconsistencies() logging.info("setup tabs...") setup_tabs() logging.info("setup theme...") setup_theme() install_message_handler() itemsource.setup_handlers() app.download_state_manager = downloader.DownloadStateManager() app.download_state_manager.init_controller() # Call this late, after the message handlers have been installed. app.sharing_tracker = sharing.SharingTracker() app.sharing_manager = sharing.SharingManager() app.transcode_manager = transcode.TranscodeManager() eventloop.add_urgent_call(check_firsttime, "check first time") def fix_database_inconsistencies(): item.fix_non_container_parents() item.move_orphaned_items() playlist.fix_missing_item_ids()
logging.info("Loading video converters...") conversions.conversion_manager.startup() app.device_manager = devices.DeviceManager() app.device_tracker = devicetracker.DeviceTracker() searchengines.create_engines() setup_global_feeds() # call fix_database_inconsistencies() ASAP after the manual feed is set up fix_database_inconsistencies() logging.info("setup tabs...") setup_tabs() logging.info("setup theme...") setup_theme() install_message_handler() itemsource.setup_handlers() downloader.init_controller() # Call this late, after the message handlers have been installed. app.sharing_tracker = sharing.SharingTracker() app.sharing_manager = sharing.SharingManager() app.transcode_manager = transcode.TranscodeManager() eventloop.add_urgent_call(check_firsttime, "check first time") def fix_database_inconsistencies(): item.fix_non_container_parents() item.move_orphaned_items() playlist.fix_missing_item_ids() folder.fix_playlist_missing_item_ids()