summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Churchill <damoc@gmail.com>2009-12-10 15:31:27 +0000
committerDamien Churchill <damoc@gmail.com>2009-12-10 15:31:27 +0000
commitfcbaa1f4f2ae0aed3b678c1362d82ad92c6b3f07 (patch)
tree0da5278371524488a05034f018e923c971cd8fa0
parentc716f55dda54d5ecaed0d3fbdc983b8b7a04117d (diff)
downloaddeluge-fcbaa1f4f2ae0aed3b678c1362d82ad92c6b3f07.tar.gz
deluge-fcbaa1f4f2ae0aed3b678c1362d82ad92c6b3f07.tar.bz2
deluge-fcbaa1f4f2ae0aed3b678c1362d82ad92c6b3f07.zip
fix the upload_plugin method as it wasn't upgraded to deluge-rpc spec
-rw-r--r--ChangeLog9
-rw-r--r--deluge/core/core.py11
2 files changed, 16 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ead3cf8a..90a3ec2de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,7 +12,8 @@
==== GtkUI ====
* 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
* 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
==== 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) ===
==== Core ====
diff --git a/deluge/core/core.py b/deluge/core/core.py
index 6b163eb65..bd767f14e 100644
--- a/deluge/core/core.py
+++ b/deluge/core/core.py
@@ -655,14 +655,21 @@ class Core(component.Component):
self.add_torrent_file(os.path.split(target)[1], open(target, "rb").read(), options)
@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
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,
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.write(plugin_data.data)
+ f.write(filedump)
f.close()
component.get("CorePluginManager").scan_for_plugins()