fix the upload_plugin method as it wasn't upgraded to deluge-rpc spec

This commit is contained in:
Damien Churchill 2009-12-10 15:31:27 +00:00
commit fcbaa1f4f2
2 changed files with 16 additions and 4 deletions

View file

@ -12,7 +12,8 @@
==== GtkUI ==== ==== GtkUI ====
* Attempt to register as the default magnet uri handler in GNOME on startup * Attempt to register as the default magnet uri handler in GNOME on startup
* Properly show 100.00% and reduce number of progress bar updates during a torrent creation * Properly show 100.00% and reduce number of progress bar updates during a
torrent creation
* Fix crash in Windows when creating a torrent * Fix crash in Windows when creating a torrent
* Add button to Other preferences to associate magnet links with Deluge * Add button to Other preferences to associate magnet links with Deluge
@ -23,7 +24,11 @@
* Fix #1085 only use ints for specific options to prevent unhandled exception * Fix #1085 only use ints for specific options to prevent unhandled exception
==== Execute ==== ==== Execute ====
* Use the move_completed path if it is different to the save path in the completed event. * Use the move_completed path if it is different to the save path
in the completed event.
==== Core =====
* Fix the upload_plugin rpc method (was still using XML-RPC stuff)
=== Deluge 1.2.0_rc4 (24 November 2009) === === Deluge 1.2.0_rc4 (24 November 2009) ===
==== Core ==== ==== Core ====

View file

@ -655,14 +655,21 @@ class Core(component.Component):
self.add_torrent_file(os.path.split(target)[1], open(target, "rb").read(), options) self.add_torrent_file(os.path.split(target)[1], open(target, "rb").read(), options)
@export @export
def upload_plugin(self, filename, plugin_data): def upload_plugin(self, filename, filedump):
"""This method is used to upload new plugins to the daemon. It is used """This method is used to upload new plugins to the daemon. It is used
when connecting to the daemon remotely and installing a new plugin on when connecting to the daemon remotely and installing a new plugin on
the client side. 'plugin_data' is a xmlrpc.Binary object of the file data, the client side. 'plugin_data' is a xmlrpc.Binary object of the file data,
ie, plugin_file.read()""" ie, plugin_file.read()"""
try:
filedump = base64.decodestring(filedump)
except Exception, e:
log.error("There was an error decoding the filedump string!")
log.exception(e)
return
f = open(os.path.join(deluge.configmanager.get_config_dir(), "plugins", filename), "wb") f = open(os.path.join(deluge.configmanager.get_config_dir(), "plugins", filename), "wb")
f.write(plugin_data.data) f.write(filedump)
f.close() f.close()
component.get("CorePluginManager").scan_for_plugins() component.get("CorePluginManager").scan_for_plugins()