upload memory persistency

This commit is contained in:
Alon Zakai 2006-12-05 19:52:54 +00:00
parent 9e36eb21f5
commit 7b93830260
2 changed files with 14 additions and 4 deletions

View File

@ -82,8 +82,8 @@ class torrent_info:
self.save_dir = save_dir
self.compact = compact
self.user_paused = False # start out unpaused
self.uploaded_memory = 0
self.user_paused = False # start out unpaused
self.uploaded_memory = 0
self.file_filter = []
@ -172,6 +172,9 @@ class manager:
self.state = persistent_state()
def quit(self):
# Analyze data needed for pickling, etc.
self.pre_quitting()
# Pickle the prefs
print "Pickling prefs..."
output = open(self.base_dir + "/" + PREFS_FILENAME, 'wb')
@ -197,6 +200,13 @@ class manager:
print "Quitting the core..."
pytorrent_core.quit()
def pre_quitting(self):
# Save the uploaded data from this session to the existing upload memory
for unique_ID in self.unique_IDs.keys():
self.unique_IDs[unique_ID].uploaded_memory = \
self.unique_IDs[unique_ID].uploaded_memory + \
self.get_torrent_core_state(unique_ID, False)['total_upload'] # Purposefully ineffi.
# Preference management functions
def get_pref(self, key):
@ -380,7 +390,7 @@ class manager:
# Call this when a session starts, to apply existing filters
def apply_all_file_filters(self):
for unique_ID in unique_IDs.keys():
for unique_ID in self.unique_IDs.keys():
try:
self.set_file_filter(self.unique_IDs[unique_ID].file_filter)
except AttributeError:

View File

@ -1168,7 +1168,7 @@ static PyMethodDef pytorrent_core_methods[] = {
{"reannounce", torrent_reannounce, METH_VARARGS, "."},
{"pause", torrent_pause, METH_VARARGS, "."},
{"resume", torrent_resume, METH_VARARGS, "."},
{"get_torrent_state", torrent_get_torrent_state, METH_VARARGS, "."},
{"get_torrent_state", torrent_get_torrent_state, METH_VARARGS, "."},
{"pop_event", torrent_pop_event, METH_VARARGS, "."},
{"get_session_info", torrent_get_session_info, METH_VARARGS, "."},
{"get_peer_info", torrent_get_peer_info, METH_VARARGS, "."},