summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorMarcos Pinto <markybob@dipconsultants.com>2007-11-17 09:12:12 +0000
committerMarcos Pinto <markybob@dipconsultants.com>2007-11-17 09:12:12 +0000
commit85f9b8bf41923b6cbcfc5cf7cb73f6e8ca46253f (patch)
tree5c0fab9de81aecde7a1c0f44ef6542e0dd2a0137 /plugins
parent0c83ffc391f624b743273e5c2712450942740fe4 (diff)
downloaddeluge-85f9b8bf41923b6cbcfc5cf7cb73f6e8ca46253f.tar.gz
deluge-85f9b8bf41923b6cbcfc5cf7cb73f6e8ca46253f.tar.bz2
deluge-85f9b8bf41923b6cbcfc5cf7cb73f6e8ca46253f.zip
more scheduler fixes/tweaks from ben
Diffstat (limited to 'plugins')
-rw-r--r--plugins/Scheduler/plugin.py46
1 files changed, 24 insertions, 22 deletions
diff --git a/plugins/Scheduler/plugin.py b/plugins/Scheduler/plugin.py
index d22c1bfac..3a35072fe 100644
--- a/plugins/Scheduler/plugin.py
+++ b/plugins/Scheduler/plugin.py
@@ -44,6 +44,7 @@ class plugin_Scheduler:
self.status = self.button_state[now[3]][now[6]]
self.prevhour = now[3]
+ # Force speed changes when the plugin loads
self._state(self.status)
def unload(self):
@@ -51,18 +52,6 @@ class plugin_Scheduler:
self.resume()
self.unlimit()
- def _getglobals(self):
- # Only run if plugin is not paused
- if self.status < 2:
- gdl = self.config.get("max_download_speed")
- gul = self.config.get("max_upload_speed")
- if self.status == 0 and (self.dlmax != gdl or self.ulmax != gul):
- self.dlmax = gdl
- self.ulmax = gul
- elif self.status == 1 and (self.dllimit != gdl or self.ullimit != gul):
- self.dllimit = gdl
- self.ullimit = gul
-
def _state(self,state):
if state == 0:
self.unlimit()
@@ -82,8 +71,6 @@ class plugin_Scheduler:
if self.status < 0:
return
- # Apply any changes that have been made to the global config
- self._getglobals()
now = time.localtime(time.time())
if now[3] != self.prevhour:
self.prevhour = now[3]
@@ -164,7 +151,6 @@ class plugin_Scheduler:
#seperator
sep = gtk.HSeparator()
- self._getglobals()
# max spinbuttons
dminput = gtk.SpinButton()
dminput.set_numeric(True)
@@ -224,15 +210,31 @@ class plugin_Scheduler:
#Save config
if dialog.run() == -5:
- self.button_state = copy.deepcopy(drawing.button_state)
- self.dlmax = float(dminput.get_value())
- self.ulmax = float(uminput.get_value())
-
- self.dllimit = float(dlinput.get_value())
- self.ullimit = float(ulinput.get_value())
+ # Detect changes to the config
+ changed = False
+ if not self.button_state == drawing.button_state:
+ self.button_state = copy.deepcopy(drawing.button_state)
+ changed = True
+
+ if not self.dlmax == float(dminput.get_value()):
+ self.dlmax = float(dminput.get_value())
+ changed = True
+
+ if not self.ulmax == float(uminput.get_value()):
+ self.ulmax = float(uminput.get_value())
+ changed = True
+
+ if not self.dllimit == float(dlinput.get_value()):
+ self.dllimit = float(dlinput.get_value())
+ changed = True
+
+ if not self.ullimit == float(ulinput.get_value()):
+ self.ullimit = float(ulinput.get_value())
+ changed = True
now = time.localtime(time.time())
- self._state(self.button_state[now[3]][now[6]])
+ if changed:
+ self._state(self.button_state[now[3]][now[6]])
writer = open(self.conf_file, "wb")
pickle.dump([drawing.button_state,[self.dllimit, self.ullimit, self.dlmax, self.ulmax]], writer)