marry uploaded mem saving with pickle state
This commit is contained in:
parent
6fcc56c79a
commit
4fe2187653
25
src/core.py
25
src/core.py
|
@ -327,10 +327,6 @@ class Manager:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def quit(self):
|
def quit(self):
|
||||||
# save upload memory
|
|
||||||
print "Saving uploaded memory..."
|
|
||||||
self.save_upmem()
|
|
||||||
|
|
||||||
# Pickle the state
|
# Pickle the state
|
||||||
self.pickle_state()
|
self.pickle_state()
|
||||||
|
|
||||||
|
@ -362,17 +358,7 @@ class Manager:
|
||||||
os.popen4('taskkill.exe /IM dbus-daemon-deluge.exe /F')
|
os.popen4('taskkill.exe /IM dbus-daemon-deluge.exe /F')
|
||||||
|
|
||||||
def pickle_state(self):
|
def pickle_state(self):
|
||||||
# Pickle the state so if we experience a crash, the latest state is
|
print "save uploaded memory"
|
||||||
# available
|
|
||||||
print "Pickling state..."
|
|
||||||
if not os.path.exists(self.base_dir):
|
|
||||||
os.makedirs(self.base_dir)
|
|
||||||
output = open(os.path.join(self.base_dir, STATE_FILENAME), 'wb')
|
|
||||||
pickle.dump(self.state, output)
|
|
||||||
output.close()
|
|
||||||
|
|
||||||
def save_upmem(self):
|
|
||||||
# Save the uploaded data from this session to the existing upload memory
|
|
||||||
for unique_ID in self.unique_IDs.keys():
|
for unique_ID in self.unique_IDs.keys():
|
||||||
# self.get_core_torrent_state purposefully not cached.
|
# self.get_core_torrent_state purposefully not cached.
|
||||||
try:
|
try:
|
||||||
|
@ -381,7 +367,14 @@ class Manager:
|
||||||
self.get_core_torrent_state(unique_ID, False)['total_upload']
|
self.get_core_torrent_state(unique_ID, False)['total_upload']
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.unique_IDs[unique_ID].initial_uploaded_memory = 0
|
self.unique_IDs[unique_ID].initial_uploaded_memory = 0
|
||||||
return True
|
# Pickle the state so if we experience a crash, the latest state is
|
||||||
|
# available
|
||||||
|
print "Pickling state..."
|
||||||
|
if not os.path.exists(self.base_dir):
|
||||||
|
os.makedirs(self.base_dir)
|
||||||
|
output = open(os.path.join(self.base_dir, STATE_FILENAME), 'wb')
|
||||||
|
pickle.dump(self.state, output)
|
||||||
|
output.close()
|
||||||
|
|
||||||
# Preference management functions
|
# Preference management functions
|
||||||
|
|
||||||
|
|
|
@ -784,7 +784,7 @@ window, please enter your password"))
|
||||||
trackers_changed = self.manager.unique_IDs[uid].trackers_changed
|
trackers_changed = self.manager.unique_IDs[uid].trackers_changed
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
trackers_changed = 0
|
trackers_changed = 0
|
||||||
self.manager.save_upmem()
|
self.manager.pickle_state()
|
||||||
uploaded_memory = self.manager.unique_IDs[uid].uploaded_memory
|
uploaded_memory = self.manager.unique_IDs[uid].uploaded_memory
|
||||||
priorities = self.manager.get_priorities(uid)
|
priorities = self.manager.get_priorities(uid)
|
||||||
save_info = [path, save_dir, order, trackerslist, \
|
save_info = [path, save_dir, order, trackerslist, \
|
||||||
|
@ -808,7 +808,7 @@ window, please enter your password"))
|
||||||
if save_info[4]:
|
if save_info[4]:
|
||||||
self.manager.unique_IDs[unique_ID].initial_uploaded_memory = \
|
self.manager.unique_IDs[unique_ID].initial_uploaded_memory = \
|
||||||
save_info[4]
|
save_info[4]
|
||||||
self.manager.save_upmem()
|
self.manager.pickle_state()
|
||||||
if save_info[6]:
|
if save_info[6]:
|
||||||
try:
|
try:
|
||||||
self.manager.replace_trackers(unique_ID, save_info[3])
|
self.manager.replace_trackers(unique_ID, save_info[3])
|
||||||
|
@ -1042,7 +1042,7 @@ window, please enter your password"))
|
||||||
# focus on startup
|
# focus on startup
|
||||||
self.update()
|
self.update()
|
||||||
gobject.timeout_add(int(1000*self.manager.config.get("gui_update_interval")), self.update)
|
gobject.timeout_add(int(1000*self.manager.config.get("gui_update_interval")), self.update)
|
||||||
gobject.timeout_add(60000, self.manager.save_upmem)
|
gobject.timeout_add(250000, self.manager.pickle_state)
|
||||||
gobject.timeout_add(300000, self.manager.save_fastresume_data)
|
gobject.timeout_add(300000, self.manager.save_fastresume_data)
|
||||||
|
|
||||||
# Load plugins after we showed main window (if not started in tray)
|
# Load plugins after we showed main window (if not started in tray)
|
||||||
|
|
Loading…
Reference in New Issue