Browse Source

Check crons after saving settings. fix #1556 & #1557

pull/1595/head
Ruud 12 years ago
parent
commit
207e846ae6
  1. 10
      couchpotato/core/_base/updater/main.py
  2. 7
      couchpotato/core/plugins/automation/main.py
  3. 20
      couchpotato/core/plugins/renamer/main.py
  4. 7
      couchpotato/core/plugins/searcher/main.py
  5. 3
      couchpotato/core/settings/__init__.py

10
couchpotato/core/_base/updater/main.py

@ -32,7 +32,6 @@ class Updater(Plugin):
else: else:
self.updater = SourceUpdater() self.updater = SourceUpdater()
fireEvent('schedule.interval', 'updater.check', self.autoUpdate, hours = 6)
addEvent('app.load', self.autoUpdate) addEvent('app.load', self.autoUpdate)
addEvent('updater.info', self.info) addEvent('updater.info', self.info)
@ -52,6 +51,15 @@ class Updater(Plugin):
'return': {'type': 'see updater.info'} 'return': {'type': 'see updater.info'}
}) })
addEvent('setting.save.updater.enabled.after', self.setCrons)
def setCrons(self):
fireEvent('schedule.remove', 'updater.check', single = True)
if self.isEnabled():
fireEvent('schedule.interval', 'updater.check', self.autoUpdate, hours = 6)
self.autoUpdate() # Check after enabling
def autoUpdate(self): def autoUpdate(self):
if self.check() and self.conf('automatic') and not self.updater.update_failed: if self.check() and self.conf('automatic') and not self.updater.update_failed:
if self.updater.doUpdate(): if self.updater.doUpdate():

7
couchpotato/core/plugins/automation/main.py

@ -10,11 +10,16 @@ class Automation(Plugin):
def __init__(self): def __init__(self):
fireEvent('schedule.interval', 'automation.add_movies', self.addMovies, hours = self.conf('hour', default = 12)) addEvent('app.load', self.setCrons)
if not Env.get('dev'): if not Env.get('dev'):
addEvent('app.load', self.addMovies) addEvent('app.load', self.addMovies)
addEvent('setting.save.automation.hour.after', self.setCrons)
def setCrons(self):
fireEvent('schedule.interval', 'automation.add_movies', self.addMovies, hours = self.conf('hour', default = 12))
def addMovies(self): def addMovies(self):
movies = fireEvent('automation.get_movies', merge = True) movies = fireEvent('automation.get_movies', merge = True)

20
couchpotato/core/plugins/renamer/main.py

@ -35,12 +35,24 @@ class Renamer(Plugin):
addEvent('app.load', self.scan) addEvent('app.load', self.scan)
addEvent('app.load', self.checkSnatched) addEvent('app.load', self.checkSnatched)
addEvent('app.load', self.setCrons)
if self.conf('run_every') > 0: # Enable / disable interval
fireEvent('schedule.interval', 'renamer.check_snatched', self.checkSnatched, minutes = self.conf('run_every')) addEvent('setting.save.renamer.enabled.after', self.setCrons)
addEvent('setting.save.renamer.run_every.after', self.setCrons)
addEvent('setting.save.renamer.force_every.after', self.setCrons)
if self.conf('force_every') > 0: def setCrons(self):
fireEvent('schedule.interval', 'renamer.check_snatched_forced', self.scan, hours = self.conf('force_every'))
fireEvent('schedule.remove', 'renamer.check_snatched')
if self.isEnabled() and self.conf('run_every') > 0:
fireEvent('schedule.interval', 'renamer.check_snatched', self.checkSnatched, minutes = self.conf('run_every'), single = True)
fireEvent('schedule.remove', 'renamer.check_snatched_forced')
if self.isEnabled() and self.conf('force_every') > 0:
fireEvent('schedule.interval', 'renamer.check_snatched_forced', self.scan, hours = self.conf('force_every'), single = True)
return True
def scanView(self): def scanView(self):

7
couchpotato/core/plugins/searcher/main.py

@ -50,7 +50,12 @@ class Searcher(Plugin):
}"""}, }"""},
}) })
# Schedule cronjob addEvent('app.load', self.setCrons)
addEvent('setting.save.searcher.cron_day.after', self.setCrons)
addEvent('setting.save.searcher.cron_hour.after', self.setCrons)
addEvent('setting.save.searcher.cron_minute.after', self.setCrons)
def setCrons(self):
fireEvent('schedule.cron', 'searcher.all', self.allMovies, day = self.conf('cron_day'), hour = self.conf('cron_hour'), minute = self.conf('cron_minute')) fireEvent('schedule.cron', 'searcher.all', self.allMovies, day = self.conf('cron_day'), hour = self.conf('cron_hour'), minute = self.conf('cron_minute'))
def allMoviesView(self): def allMoviesView(self):

3
couchpotato/core/settings/__init__.py

@ -189,6 +189,9 @@ class Settings(object):
self.set(section, option, (new_value if new_value else value).encode('unicode_escape')) self.set(section, option, (new_value if new_value else value).encode('unicode_escape'))
self.save() self.save()
# After save (for re-interval etc)
fireEvent('setting.save.%s.%s.after' % (section, option), single = True)
return jsonified({ return jsonified({
'success': True, 'success': True,
}) })

Loading…
Cancel
Save