def __init__(self): super(SearcherBase, self).__init__() add_event('searcher.progress', self.getProgress) add_event('%s.searcher.progress' % self.getType(), self.getProgress) self.initCron()
def __init__(self): super(Growl, self).__init__() self.growl = None if self.is_enabled(): add_event('app.load', self.register)
def __init__(self): add_event('scanner.create_file_identifier', self.createStringIdentifier) add_event('scanner.remove_cptag', self.removeCPTag) add_event('scanner.scan', self.scan) add_event('scanner.name_year', self.getReleaseNameYear) add_event('scanner.partnumber', self.getPartNumber)
def __init__(self): add_event('notify.%s' % self.getName().lower(), self._notify) addApiView(self.testNotifyName(), self.test) # Attach listeners for listener in self.listen_to: if not listener in self.dont_listen_to: add_event(listener, self.createNotifyHandler(listener))
def __init__(self): addApiView('userscript.get/(.*)/(.*)', self.getUserScript, static = True) addApiView('userscript', self.iFrame) addApiView('userscript.add_via_url', self.getViaUrl) addApiView('userscript.includes', self.getIncludes) addApiView('userscript.bookmark', self.bookmark) add_event('userscript.get_version', self.getVersion) add_event('app.test', self.doTest)
def setup(self): if not self.Env: from couchpotato.environment import Env self.Env = Env self.is_develop = Env.get('dev') from couchpotato.core.event import add_event add_event('app.after_shutdown', self.close)
def __init__(self): addApiView('suggestion.view', self.suggestView) addApiView('suggestion.ignore', self.ignoreView) def test(): time.sleep(1) self.suggestView() add_event('app.load', test)
def __init__(self): super(Plex, self).__init__() self.server = PlexServer(self) self.client_protocols = { 'http': PlexClientHTTP(self), 'json': PlexClientJSON(self) } add_event('renamer.after', self.addToLibrary)
def __init__(self): super(Trakt, self).__init__() addApiView('automation.trakt.auth_url', self.getAuthorizationUrl) addApiView('automation.trakt.credentials', self.getCredentials) fire_event('schedule.interval', 'updater.check', self.refreshToken, hours=24) add_event('app.load', self.refreshToken)
def __init__(self): addApiView('downloader.putio.getfrom', self.getFromPutio, docs={ 'desc': 'Allows you to download file from prom Put.io', }) addApiView('downloader.putio.auth_url', self.getAuthorizationUrl) addApiView('downloader.putio.credentials', self.getCredentials) add_event('putio.download', self.putioDownloader) return super(PutIO, self).__init__()
def __init__(self): addApiView('category.save', self.save) addApiView('category.save_order', self.saveOrder) addApiView('category.delete', self.delete) addApiView('category.list', self.allView, docs = { 'desc': 'List all available categories', 'return': {'type': 'object', 'example': """{ 'success': True, 'categories': array, categories }"""} }) add_event('category.all', self.all)
def __init__(self): self.indexes = {} addApiView('database.list_documents', self.list_documents) addApiView('database.reindex', self.reindex) addApiView('database.compact', self.compact) addApiView('database.document.update', self.update_document) addApiView('database.document.delete', self.delete_document) add_event('database.setup.after', self.startup_compact) add_event('database.setup_index', self.setup_index) add_event('database.delete_corrupted', self.delete_corrupted) add_event('app.migrate', self.migrate) add_event('app.after_shutdown', self.close)
def __init__(self): addApiView('search', self.search, docs = { 'desc': 'Search the info in providers for a movie', 'params': { 'q': {'desc': 'The (partial) movie name you want to search for'}, 'type': {'desc': 'Search for a specific media type. Leave empty to search all.'}, }, 'return': {'type': 'object', 'example': """{ 'success': True, 'movies': array, 'show': array, etc }"""} }) add_event('app.load', self.addSingleSearches)
def __init__(self): add_event('schedule.cron', self.cron) add_event('schedule.interval', self.interval) add_event('schedule.remove', self.remove) add_event('schedule.queue', self.queue) self.sched = BackgroundScheduler(misfire_grace_time=60) self.sched.start() self.started = True
def __init__(self): desktop = Env.get('desktop') desktop.setSettings({ 'base_url': fire_event('app.base_url', single=True), 'api_url': fire_event('app.api_url', single=True), 'api': Env.setting('api'), }) # Events from desktop desktop.addEvents({ 'onClose': self.on_close, }) # Events to desktop add_event('app.after_shutdown', desktop.afterShutdown) add_event('app.load', desktop.onAppLoad, priority=110)
def __init__(self): # Initialize this type super(MovieBase, self).__init__() self.initType() addApiView('movie.add', self.addView, docs = { 'desc': 'Add new movie to the wanted list', 'return': {'type': 'object', 'example': """{ 'success': True, 'movie': object }"""}, 'params': { 'identifier': {'desc': 'IMDB id of the movie your want to add.'}, 'profile_id': {'desc': 'ID of quality profile you want the add the movie in. If empty will use the default profile.'}, 'force_readd': {'desc': 'Force re-add even if movie already in wanted or manage. Default: True'}, 'category_id': {'desc': 'ID of category you want the add the movie in. If empty will use no category.'}, 'title': {'desc': 'Movie title to use for searches. Has to be one of the titles returned by movie.search.'}, } }) addApiView('movie.edit', self.edit, docs = { 'desc': 'Add new movie to the wanted list', 'params': { 'id': {'desc': 'Movie ID(s) you want to edit.', 'type': 'int (comma separated)'}, 'profile_id': {'desc': 'ID of quality profile you want the edit the movie to.'}, 'category_id': {'desc': 'ID of category you want the add the movie in. If empty will use no category.'}, 'default_title': {'desc': 'Movie title to use for searches. Has to be one of the titles returned by movie.search.'}, } }) add_event('movie.add', self.add) add_event('movie.update', self.update) add_event('movie.update_release_dates', self.updateReleaseDate)
def __init__(self): add_event('file.download', self.download) addApiView('file.cache/(.*)', self.showCacheFile, static=True, docs={ 'desc': 'Return a file from the cp_data/cache directory', 'params': { 'filename': { 'desc': 'path/filename of the wanted file' } }, 'return': { 'type': 'file' } }) fire_event('schedule.interval', 'file.cleanup', self.cleanup, hours=24) add_event('app.test', self.doSubfolderTest)
def registerPlugin(self): add_event('app.do_shutdown', self.do_shutdown) add_event('plugin.running', self.isRunning) self._running = [] # Setup database if self._database: add_event('database.setup', self.databaseSetup)
def __init__(self): add_event('app.load', self.setCrons) if not Env.get('dev'): add_event('app.load', self.addMovies) add_event('setting.save.automation.hour.after', self.setCrons)
def __init__(self): if Env.get('desktop'): self.updater = DesktopUpdater() elif os.path.isdir(os.path.join(Env.get('app_dir'), '.git')): git_default = 'git' git_command = self.conf('git_command', default=git_default) git_command = git_command if git_command != git_default and ( os.path.isfile(git_command) or re.match( '^[a-zA-Z0-9_/\.\-]+$', git_command)) else git_default self.updater = GitUpdater(git_command) else: self.updater = SourceUpdater() add_event('app.load', self.log_version, priority=10000) add_event('app.load', self.set_crons) add_event('updater.info', self.info) addApiView('updater.info', self.info, docs={ 'desc': 'Get updater information', 'return': { 'type': 'object', 'example': """{ 'last_check': "last checked for update", 'update_version': "available update version or empty", 'version': current_cp_version }""" } }) addApiView('updater.update', self.do_update_view) addApiView('updater.check', self.check_view, docs={ 'desc': 'Check for available update', 'return': { 'type': 'see updater.info' } }) add_event('setting.save.updater.enabled.after', self.set_crons)
def initCron(self): """ Set the searcher cronjob Make sure to reset cronjob after setting has changed """ _type = self.getType() def setCrons(): fire_event('schedule.cron', '%s.searcher.all' % _type, self.searchAll, day=self.conf('cron_day'), hour=self.conf('cron_hour'), minute=self.conf('cron_minute')) add_event('app.load', setCrons) add_event('setting.save.%s_searcher.cron_day.after' % _type, setCrons) add_event('setting.save.%s_searcher.cron_hour.after' % _type, setCrons) add_event('setting.save.%s_searcher.cron_minute.after' % _type, setCrons)
def __init__(self): add_event('profile.all', self.all) add_event('profile.default', self.default) addApiView('profile.save', self.save) addApiView('profile.save_order', self.saveOrder) addApiView('profile.delete', self.delete) addApiView('profile.list', self.allView, docs={ 'desc': 'List all available profiles', 'return': { 'type': 'object', 'example': """{ 'success': True, 'list': array, profiles }""" } }) add_event('app.initialize', self.fill, priority=90) add_event('app.load', self.forceDefaults, priority=110)
def __init__(self): add_event('app.load', self.createStructure)
def __init__(self): addApiView(self.testNotifyName(), self.test) add_event('renamer.after', self.addToLibrary)
def __init__(self): addApiView( 'settings', self.view, docs={ 'desc': 'Return the options and its values of settings.conf. Including the default values and group ordering used on the settings page.', 'return': { 'type': 'object', 'example': """{ // objects like in __init__.py of plugin "options": { "moovee" : { "groups" : [{ "description" : "SD movies only", "name" : "#alt.binaries.moovee", "options" : [{ "default" : false, "name" : "enabled", "type" : "enabler" }], "tab" : "providers" }], "name" : "moovee" } }, // object structured like settings.conf "values": { "moovee": { "enabled": false } } }""" } }) addApiView('settings.save', self.save_view, docs={ 'desc': 'Save setting to config file (settings.conf)', 'params': { 'section': { 'desc': 'The section name in settings.conf' }, 'name': { 'desc': 'The option name' }, 'value': { 'desc': 'The value you want to save' }, } }) add_event('database.setup', self.database_setup) self.file = None self.p = None self.log = None self.directories_delimiter = "::"
def connect_events(self): add_event('settings.options', self.add_options) add_event('settings.register', self.register_defaults) add_event('settings.save', self.save)
def __init__(self): add_event('info.search', self.search, priority=3) add_event('movie.search', self.search, priority=3) add_event('movie.info', self.getInfo, priority=3) add_event('movie.info_by_tmdb', self.getInfo) add_event('app.load', self.config)
def __init__(self): addApiView( 'media.refresh', self.refresh, docs={ 'desc': 'Refresh a any media type by ID', 'params': { 'id': { 'desc': 'Movie, Show, Season or Episode ID(s) you want to refresh.', 'type': 'int (comma separated)' }, } }) addApiView( 'media.list', self.listView, docs={ 'desc': 'List media', 'params': { 'type': { 'type': 'string', 'desc': 'Media type to filter on.' }, 'status': { 'type': 'array or csv', 'desc': 'Filter media by status. Example:"active,done"' }, 'release_status': { 'type': 'array or csv', 'desc': 'Filter media by status of its releases. Example:"snatched,available"' }, 'limit_offset': { 'desc': 'Limit and offset the media list. Examples: "50" or "50,30"' }, 'starts_with': { 'desc': 'Starts with these characters. Example: "a" returns all media starting with the letter "a"' }, 'search': { 'desc': 'Search media title' }, }, 'return': { 'type': 'object', 'example': """{ 'success': True, 'empty': bool, any media returned or not, 'media': array, media found, }""" } }) addApiView('media.get', self.getView, docs={ 'desc': 'Get media by id', 'params': { 'id': { 'desc': 'The id of the media' }, } }) addApiView('media.delete', self.deleteView, docs={ 'desc': 'Delete a media from the wanted list', 'params': { 'id': { 'desc': 'Media ID(s) you want to delete.', 'type': 'int (comma separated)' }, 'delete_from': { 'desc': 'Delete media from this page', 'type': 'string: all (default), wanted, manage' }, } }) addApiView('media.available_chars', self.charView) add_event('app.load', self.addSingleRefreshView, priority=100) add_event('app.load', self.addSingleListView, priority=100) add_event('app.load', self.addSingleCharView, priority=100) add_event('app.load', self.addSingleDeleteView, priority=100) add_event('app.load', self.cleanupFaults) add_event('media.get', self.get) add_event('media.with_status', self.withStatus) add_event('media.with_identifiers', self.withIdentifiers) add_event('media.list', self.list) add_event('media.delete', self.delete) add_event('media.restatus', self.restatus) add_event('media.tag', self.tag) add_event('media.untag', self.unTag)
def __init__(self): add_event('library.query', self.query)
def __init__(self): if self.type: add_event('%s.matcher.correct' % self.type, self.correct)