From 345f61b740b0316970910fb5fa5e5e9b6e8ca189 Mon Sep 17 00:00:00 2001 From: Martijn Voncken Date: Tue, 12 Feb 2008 18:39:07 +0000 Subject: [PATCH] torrent_add options bugfix --- deluge/ui/webui/webui_plugin/config.py | 2 +- deluge/ui/webui/webui_plugin/torrent_add.py | 7 ++++--- deluge/ui/webui/webui_plugin/utils.py | 5 +++-- deluge/ui/webui/webui_plugin/webserver_common.py | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/deluge/ui/webui/webui_plugin/config.py b/deluge/ui/webui/webui_plugin/config.py index c89992d4b..2384212fc 100644 --- a/deluge/ui/webui/webui_plugin/config.py +++ b/deluge/ui/webui/webui_plugin/config.py @@ -91,7 +91,7 @@ class config_page: @deco.deluge_page def POST(self,name): - form_data = utils.get_newforms_data(form_class) + form_data = web.Storage(utils.get_newforms_data(form_class)) form = form_class(form_data) if form.is_valid(): ws.log.debug('save config %s' % form_data) diff --git a/deluge/ui/webui/webui_plugin/torrent_add.py b/deluge/ui/webui/webui_plugin/torrent_add.py index 622c43afd..ad5bf0806 100644 --- a/deluge/ui/webui/webui_plugin/torrent_add.py +++ b/deluge/ui/webui/webui_plugin/torrent_add.py @@ -89,12 +89,13 @@ class torrent_add: *posting of data as string(for greasemonkey-private) """ - options = dict(utils.get_newforms_data(OptionsForm)) - options_form = OptionsForm(options) + options_form = OptionsForm(utils.get_newforms_data(OptionsForm)) if not options_form.is_valid(): print self.add_page(error = _("Error in torrent options.")) return + options = options_form.clean_data + vars = web.input(url = None, torrent = {}) torrent_name = None @@ -108,7 +109,7 @@ class torrent_add: print self.add_page(error = _("Choose an url or a torrent, not both.")) return if vars.url: - ws.proxy.add_torrent_url(vars.url, options) + ws.proxy.add_torrent_url(vars.url,options) utils.do_redirect() elif torrent_name: data_b64 = base64.b64encode(torrent_data) diff --git a/deluge/ui/webui/webui_plugin/utils.py b/deluge/ui/webui/webui_plugin/utils.py index 1d7ca20c7..12cc9b577 100644 --- a/deluge/ui/webui/webui_plugin/utils.py +++ b/deluge/ui/webui/webui_plugin/utils.py @@ -224,7 +224,7 @@ def get_torrent_status(torrent_id): helper method. enhance ws.proxy.get_torrent_status with some extra data """ - status = ws.proxy.get_torrent_status(torrent_id,TORRENT_KEYS) + status = ws.proxy.get_torrent_status(torrent_id,[]) return enhance_torrent_status(torrent_id, status) @@ -303,10 +303,11 @@ def get_newforms_data(form_class): """ import lib.newforms_plus as forms fields = form_class.base_fields.keys() - form_data = web.Storage() + form_data = {} vars = web.input() for field in fields: form_data[field] = vars.get(field) + #ws.log.debug("form-field:%s=%s" % (field, form_data[field])) #DIRTY HACK: (for multiple-select) if isinstance(form_class.base_fields[field], forms.MultipleChoiceField): diff --git a/deluge/ui/webui/webui_plugin/webserver_common.py b/deluge/ui/webui/webui_plugin/webserver_common.py index 61d3bf8f1..d10a9278a 100644 --- a/deluge/ui/webui/webui_plugin/webserver_common.py +++ b/deluge/ui/webui/webui_plugin/webserver_common.py @@ -190,8 +190,8 @@ class Ws: f = open(filename,"wb") f.write(base64.b64decode(data_b64)) f.close() - - self.proxy.add_torrent_file([filename] , options) + self.log.debug("options:%s" % options) + self.proxy.add_torrent_file([filename] , [options]) self.proxy.add_torrent_filecontent = add_torrent_filecontent self.log.debug('cfg-file %s' % self.config_file)