remove file manager setting and use xdg-open, use os.startfile in windows, remove initial_upload, fix ratio

This commit is contained in:
Marcos Pinto 2008-04-08 01:53:56 +00:00
parent 3befc2e084
commit 7e5179d0de
5 changed files with 491 additions and 645 deletions

File diff suppressed because it is too large Load Diff

View File

@ -185,17 +185,16 @@ def fetch_url(url):
return None return None
def exec_command(executable, *parameters): def exec_command(executable=None, *parameters):
import os import os
command = [executable]
command.extend(parameters)
if windows_check(): if windows_check():
try: try:
from subprocess import Popen os.startfile(parameters)
Popen(command)
except: except:
pass pass
else: else:
command = [executable]
command.extend(parameters)
try: try:
os.WEXITSTATUS(os.system(command[0] + " \"%s\"" %command[1])) os.WEXITSTATUS(os.system(command[0] + " \"%s\"" %command[1]))
except OSError: except OSError:

View File

@ -165,7 +165,6 @@ class torrent_info:
self.compact = compact self.compact = compact
self.user_paused = user_paused self.user_paused = user_paused
self.uploaded_memory = 0 self.uploaded_memory = 0
self.initial_uploaded_memory = 0
self.upload_rate_limit = 0 self.upload_rate_limit = 0
self.download_rate_limit = 0 self.download_rate_limit = 0
self.webseed_urls = [] self.webseed_urls = []
@ -358,8 +357,12 @@ class Manager:
def pickle_state(self): def pickle_state(self):
print "save uploaded memory" print "save uploaded memory"
for torrent in self.state.torrents: state = persistent_state()
uid = self.state.torrents[torrent] state.torrents = dict(self.state.torrents.iteritems())
state.queue = self.state.queue[:]
for torrent in state.torrents:
uid = state.torrents[torrent]
try: try:
torrent.uploaded_memory = self.unique_IDs[uid].uploaded_memory +\ torrent.uploaded_memory = self.unique_IDs[uid].uploaded_memory +\
self.get_core_torrent_state(uid, False)['total_upload'] self.get_core_torrent_state(uid, False)['total_upload']
@ -371,11 +374,10 @@ class Manager:
if not os.path.exists(self.base_dir): if not os.path.exists(self.base_dir):
os.makedirs(self.base_dir) os.makedirs(self.base_dir)
output = open(os.path.join(self.base_dir, STATE_FILENAME), 'wb') output = open(os.path.join(self.base_dir, STATE_FILENAME), 'wb')
pickle.dump(self.state, output) pickle.dump(state, output)
output.close() output.close()
# Preference management functions # Preference management functions
def get_config(self): def get_config(self):
# This returns the preference object # This returns the preference object
return self.config return self.config

View File

@ -50,9 +50,6 @@ class PreferencesDlg:
self.glade.signal_autoconnect({ self.glade.signal_autoconnect({
'toggle_ui': self.toggle_ui, 'toggle_ui': self.toggle_ui,
'on_btn_testport_clicked': self.TestPort, 'on_btn_testport_clicked': self.TestPort,
'on_combo_file_manager_entry_focus_in_event': self.on_combo_file_manager_entry_focus_in_event,
'on_txt_open_folder_location_focus_in_event': self.on_txt_open_folder_location_focus_in_event,
'on_radio_open_folder_custom_focus_in_event': self.on_radio_open_folder_custom_focus_in_event
}) })
self.preferences = preferences self.preferences = preferences
@ -77,15 +74,6 @@ class PreferencesDlg:
def show(self, interface, window): def show(self, interface, window):
# Load settings into dialog # Load settings into dialog
try: try:
self.glade.get_widget("combo_file_manager").set_active(self.preferences.get("file_manager"))
self.glade.get_widget("txt_open_folder_location").set_text(self.preferences.get("open_folder_location"))
self.glade.get_widget("radio_open_folder_stock").set_active(self.preferences.get("open_folder_stock"))
self.glade.get_widget("radio_open_folder_custom").set_active(not self.preferences.get("open_folder_stock"))
if common.windows_check():
self.glade.get_widget("combo_file_manager").set_sensitive(False)
self.glade.get_widget("txt_open_folder_location").set_sensitive(False)
self.glade.get_widget("radio_open_folder_stock").set_sensitive(False)
self.glade.get_widget("radio_open_folder_custom").set_sensitive(False)
self.glade.get_widget("combo_encin").set_active(self.preferences.get("encin_state")) self.glade.get_widget("combo_encin").set_active(self.preferences.get("encin_state"))
self.glade.get_widget("combo_encout").set_active(self.preferences.get("encout_state")) self.glade.get_widget("combo_encout").set_active(self.preferences.get("encout_state"))
self.glade.get_widget("combo_enclevel").set_active(self.preferences.get("enclevel_type")) self.glade.get_widget("combo_enclevel").set_active(self.preferences.get("enclevel_type"))
@ -208,9 +196,6 @@ class PreferencesDlg:
def ok_clicked(self, source, interface): def ok_clicked(self, source, interface):
self.dialog.hide() self.dialog.hide()
import sha import sha
self.preferences.set("file_manager", self.glade.get_widget("combo_file_manager").get_active())
self.preferences.set("open_folder_stock", self.glade.get_widget("radio_open_folder_stock").get_active())
self.preferences.set("open_folder_location", self.glade.get_widget("txt_open_folder_location").get_text())
self.preferences.set("encin_state", self.glade.get_widget("combo_encin").get_active()) self.preferences.set("encin_state", self.glade.get_widget("combo_encin").get_active())
self.preferences.set("encout_state", self.glade.get_widget("combo_encout").get_active()) self.preferences.set("encout_state", self.glade.get_widget("combo_encout").get_active())
self.preferences.set("enclevel_type", self.glade.get_widget("combo_enclevel").get_active()) self.preferences.set("enclevel_type", self.glade.get_widget("combo_enclevel").get_active())
@ -395,15 +380,6 @@ class PreferencesDlg:
self.glade.get_widget('spin_port_min').set_sensitive(True) self.glade.get_widget('spin_port_min').set_sensitive(True)
self.glade.get_widget('spin_port_max').set_sensitive(True) self.glade.get_widget('spin_port_max').set_sensitive(True)
def on_combo_file_manager_entry_focus_in_event(self, widget, event):
self.glade.get_widget("radio_open_folder_stock").set_active(True)
def on_txt_open_folder_location_focus_in_event(self, widget, event):
self.glade.get_widget("radio_open_folder_custom").set_active(True)
def on_radio_open_folder_custom_focus_in_event(self, widget, event):
self.glade.get_widget("txt_open_folder_location").grab_focus()
class MergeDlg: class MergeDlg:
def __init__(self): def __init__(self):
self.glade = gtk.glade.XML(common.get_glade_file("merge_dialog.glade"), self.glade = gtk.glade.XML(common.get_glade_file("merge_dialog.glade"),

View File

@ -159,9 +159,6 @@ class DelugeGTK:
for torrent in self.manager.get_queue(): for torrent in self.manager.get_queue():
unique_ID = self.manager.get_torrent_unique_id(torrent) unique_ID = self.manager.get_torrent_unique_id(torrent)
try: try:
if self.manager.unique_IDs[unique_ID].uploaded_memory:
self.manager.unique_IDs[unique_ID].initial_uploaded_memory = \
self.manager.unique_IDs[unique_ID].uploaded_memory
if self.manager.unique_IDs[unique_ID].trackers_changed: if self.manager.unique_IDs[unique_ID].trackers_changed:
self.manager.replace_trackers(unique_ID, \ self.manager.replace_trackers(unique_ID, \
self.manager.unique_IDs[unique_ID].trackers) self.manager.unique_IDs[unique_ID].trackers)
@ -732,22 +729,6 @@ window, please enter your password"))
self.open_folder(view_column) self.open_folder(view_column)
def open_folder(self, widget, uids=None): def open_folder(self, widget, uids=None):
if not common.windows_check():
if self.config.get("open_folder_stock"):
if self.config.get("file_manager") == common.FileManager.xdg:
file_manager = "xdg-open"
elif self.config.get("file_manager") == common.FileManager.\
konqueror:
file_manager = "konqueror"
elif self.config.get("file_manager") == common.FileManager.nautilus:
file_manager = "nautilus"
elif self.config.get("file_manager") == common.FileManager.thunar:
file_manager = "thunar"
else:
file_manager = self.config.get("open_folder_location")
else:
file_manager = "explorer.exe"
if not uids: if not uids:
unique_ids = self.get_selected_torrent_rows() unique_ids = self.get_selected_torrent_rows()
else: else:
@ -756,7 +737,12 @@ window, please enter your password"))
try: try:
for uid in unique_ids: for uid in unique_ids:
torrent_path = self.manager.get_torrent_path(uid) torrent_path = self.manager.get_torrent_path(uid)
common.exec_command(file_manager, torrent_path) if not common.windows_check():
file_manager = "xdg-open"
common.exec_command(file_manager, torrent_path)
else:
common.exec_command(executable=None, parameters=torrent_path)
except KeyError: except KeyError:
pass pass
@ -806,7 +792,7 @@ window, please enter your password"))
self.update() self.update()
self.manager.prioritize_files(unique_ID, save_info[5], update_files_removed=False) self.manager.prioritize_files(unique_ID, save_info[5], update_files_removed=False)
if save_info[4]: if save_info[4]:
self.manager.unique_IDs[unique_ID].initial_uploaded_memory = \ self.manager.unique_IDs[unique_ID].uploaded_memory = \
save_info[4] save_info[4]
self.manager.pickle_state() self.manager.pickle_state()
if save_info[6]: if save_info[6]: