Author: damoxc
Revision: 5128
Log:
remove the old mootools rpc client
Diff:
Deleted: trunk/deluge/ui/web/js/rpc.js
===================================================================
--- trunk/deluge/ui/web/js/rpc.js 2009-04-21 22:03:40 UTC (rev 5127)
+++ trunk/deluge/ui/web/js/rpc.js 2009-04-21 22:18:11 UTC (rev 5128)
@@ -1,166 +0,0 @@
-/*
-Script: rpc.js
- A JSON-RPC proxy built ontop of mootools.
-
-Copyright:
- (C) Damien Churchill 2009 <[email protected]>
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, write to:
- The Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor
- Boston, MA 02110-1301, USA.
-
-Class: JSON.RPC
- Class to create a proxy to a json-rpc interface on a server.
-
-Example:
- client = new JSON.RPC('/json/rpc');
- client.hello_world({
- onSuccess: function(result) {
- alert(result);
- }
- });
- alert(client.hello_world({async: false;}));
- client.add_name('Damien', {
- onSuccess: function(result) {
- alert(result);
- }
- });
-
-Returns:
- The proxy that can be used to directly call methods on the server.
-*/
-RPC = new Class({
- Implements: Options,
-
- options: {
- async: true,
- methods: []
- },
-
- initialize: function(url, options) {
- this.setOptions(options)
- this.url = url
- if (this.options.methods.length == 0) {
- this._setMethods(this._execute('system.listMethods',
{async: false}));
- } else {
- this._setMethods(this.options.methods);
- }
- },
-
-
- /*
- Property: _setMethods
- Internal method for settings the methods up
-
- Arguments:
- methodNames - A list of the method names available.
-
- */
- _setMethods: function(methodNames) {
- var components = new Hash();
-
- methodNames.forEach(function(method) {
- var parts = method.split('.');
- var component = $pick(components[parts[0]], new Hash());
- var fn = function() {
- var options = this._parseargs(arguments);
- return this._execute(method, options);
- }.bind(this);
- component[parts[1]] = fn;
- components[parts[0]] = component;
- }, this);
-
- components.each(function(methods, name) {
- this[name] = methods;
- }, this);
- },
-
- /*
- Property: _parseargs
- Internal method for parsing the arguments given to the method
-
- Arguments:
- args - A list of the methods arguments
-
- Returns:
- An options object with the arguments set as options.params
-
- */
- _parseargs: function(args) {
- var params = $A(args), options = params.getLast()
- if ($type(options) == 'object') {
- var option_keys = ['async', 'onRequest', 'onComplete',
- 'onSuccess', 'onFailure', 'onException', 'onCancel'],
keys =
- new Hash(options).getKeys(), is_option = false
-
- option_keys.each(function(key) {
- if (keys.contains(key)) {
- is_option = true
- }
- })
-
- if (is_option) {
- params.erase(options)
- } else {
- options = {}
- }
- } else { options = {} }
- options.params = params
- return options
- },
-
- /*
- Property: _execute
- An internal method to make the call to the rpc page
-
- Arguements:
- method - the name of the method
- options - An options dict providing any additional options for
the
- call.
-
- Example:
- alert(client.hello_world({async: false;}));
-
- Returns:
- If not async returns the json result
- */
- _execute: function(method, options) {
- options = $pick(options, {})
- options.params = $pick(options.params, [])
- options.async = $pick(options.async, this.options.async)
-
- data = JSON.encode({
- method: method,
- params: options.params,
- id: 1
- })
-
- var request = new Request.JSON({
- url: this.url,
- async: options.async,
- onRequest: options.onRequest,
- onComplete: options.onComplete,
- onSuccess: function(response) {
- if (options.onSuccess)
{options.onSuccess(response.result)}
- },
- onFailure: options.onFailure,
- onException: options.onException,
- onCancel: options.onCancel
- }).send(data);
-
- if (!options.async) {
- return request.response.json.result
- }
- }
-})
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---