From f1c192b996bbd08303170f5eb05d65a6180f3b1b Mon Sep 17 00:00:00 2001 From: Damien Churchill Date: Wed, 22 Jul 2009 20:23:16 +0000 Subject: [PATCH] just autodoc the Core and Daemon classes rather than use the RpcApi class --- deluge/_rpcapi.py | 20 - docs/build/doctrees/core/index.doctree | Bin 2630 -> 2607 bytes docs/build/doctrees/core/rpc.doctree | Bin 112179 -> 111709 bytes docs/build/doctrees/environment.pickle | Bin 27515 -> 27168 bytes docs/build/doctrees/index.doctree | Bin 5994 -> 5971 bytes .../build/doctrees/interfaces/console.doctree | Bin 2403 -> 2380 bytes docs/build/doctrees/interfaces/gtk.doctree | Bin 2383 -> 2360 bytes docs/build/doctrees/interfaces/index.doctree | Bin 2933 -> 2910 bytes docs/build/doctrees/interfaces/web.doctree | Bin 5755 -> 5732 bytes docs/build/doctrees/modules/common.doctree | Bin 84161 -> 83586 bytes docs/build/doctrees/modules/config.doctree | Bin 50204 -> 49859 bytes docs/build/html/_sources/core/rpc.txt | 4 +- docs/build/html/_static/jquery.js | 3561 +---------------- docs/build/html/core/index.html | 2 +- docs/build/html/core/rpc.html | 223 +- docs/build/html/genindex.html | 107 +- docs/build/html/index.html | 2 +- docs/build/html/interfaces/console.html | 2 +- docs/build/html/interfaces/gtk.html | 2 +- docs/build/html/interfaces/index.html | 2 +- docs/build/html/interfaces/web.html | 2 +- docs/build/html/modindex.html | 2 +- docs/build/html/modules/common.html | 2 +- docs/build/html/modules/config.html | 2 +- docs/build/html/objects.inv | 137 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/source/core/rpc.rst | 4 +- 28 files changed, 274 insertions(+), 3804 deletions(-) delete mode 100644 deluge/_rpcapi.py diff --git a/deluge/_rpcapi.py b/deluge/_rpcapi.py deleted file mode 100644 index 4ca9dc226..000000000 --- a/deluge/_rpcapi.py +++ /dev/null @@ -1,20 +0,0 @@ -from new import classobj -from deluge.core.core import Core -from deluge.core.daemon import Daemon - -class RpcApi: - pass - -def scan_for_methods(obj): - methods = { - '__doc__': 'Methods available in %s' % obj.__name__.lower() - } - for d in dir(obj): - if not hasattr(getattr(obj,d), '_rpcserver_export'): - continue - methods[d] = getattr(obj, d) - cobj = classobj(obj.__name__.lower(), (object,), methods) - setattr(RpcApi, obj.__name__.lower(), cobj) - -scan_for_methods(Core) -scan_for_methods(Daemon) diff --git a/docs/build/doctrees/core/index.doctree b/docs/build/doctrees/core/index.doctree index f5eac5438c2b4d53683f0acc2587b4ec101b7823..6dc1f24972b8b26f7cd2996f2771d3efe8f0f317 100644 GIT binary patch delta 28 jcmX>mvR-6^J|n-aenx(7s(wmhZf0tpe!%8X#*Z8Ti!cem delta 51 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≤4a)-g7Zk*6KpMdrWi8m$bs#>xhJ%Gb(Rz^f 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 Tb%C;SN^#LTux;x>DwFg8kA&!{ literal 112179 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 PN^y|^*fv9u$|OAi@nQR> diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 45f09cb8528984ddfb50d681915302f2316506b5..bc8664d59f1eb1c597610c0a6d8462722bc81c77 100644 GIT binary patch literal 27168 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 delta 51 zcmdlXbY5tKHltdEenx(7s=iZ@r*A-rzn^|eaz<%Uaz=#N<@{g3UV_ HSBn4u{%{k0 diff --git a/docs/build/doctrees/modules/common.doctree b/docs/build/doctrees/modules/common.doctree index 5440962b59ff2dce9fdf3a32ee28e6022aa2985a..47bc4fd792bca41a0d52c3e66f65c165dd5c1eea 100644 GIT binary patch delta 735 zcmX>&k+rFpbwd{mzoULeer~FMN@8wiYMy?;$o{x@Q;vC2sSyV&F56+^9n^^m%CxKmjj2sO*WJHaY$|c=Upu>6p7WyiSsx& zzfF$EW$NbbIr98Mp;)zUcC6VhfW^wqioF-bg;KHUah!NhY;)1l4;(`2IHY+d*R0{) z{B+$14xt#VN;cc?$m7NC8OO=?J6Jc%99zyK6pdZ4?&Tg%p(w0!lh-qHZ`Qlp$%@5C z;5bu!Y|V!~UK}?c`^b$WlpMEPGcv{q!P3GLYc delta 1297 zcmZqbWj#2Nbwd}6T7-T^er~G1Q;?@`K#0GeeoAsiX;E@UW=@WNcz#iKaY15os(!)b zhXP`o*RvF{Xr?kSFc7Q7VRJEO47+AIv064i6tET6%qCX(WCs9j`ca6Aa0VxifIG1a)X>vTNZhM}sz^|D@ibb2Fs&@#G=$+J_3F4YH zq}Vd?p4jHNB_B96>qyhZvw7{>zZ{yyr0ClGcUvAWX`#J&-;p&unnfhpviD*Sr)D83 zS|+b&K2UAd;k$R!g2rr diff --git a/docs/build/doctrees/modules/config.doctree b/docs/build/doctrees/modules/config.doctree index a2ce942948b5104bbc126228051de5885d0c4ebd..4c0ca512b0a686c97cc09c6cf24d8a85beee1320 100644 GIT binary patch delta 439 zcmbQ!!F;%tdBa?0en`LylZ?5uO#3mGnReEzzzyo2SDC}}~QnXow^03NHb|~eV{4R@s^Mp(XZlP?f fYBoER#)%6hW0&LWEx>8-y9IyQak)2oT delta 781 zcmX@y$~>oodBa?0wFv!;{M=N1ryx(?fDnH_{gmX4(xT*y%$ywk@cg3e;)2BFRQ-a< z|DD7(A7Tz-(M)AvU?5hD!{#)OD`J{CBxrHpJXwARr)C8ST0ACmGIDR;p!tH0G;Nzd z8F;a2mXTnS-{v{yf!vx6#A@06-zk|@vzS=rlm9z;Onkt$`H;sVHqBB}bZy?}e_vR$ zkXS97*C!XTXtolo9OSOax+R>G`HT5CPtI`Q)@&k0>t@}OSaHoNQnXC$;obbPJBb7@ Tf!w%x?fgINBnBMwiUU#r&2koV diff --git a/docs/build/html/_sources/core/rpc.txt b/docs/build/html/_sources/core/rpc.txt index a229c1eb8..2cd95aff4 100644 --- a/docs/build/html/_sources/core/rpc.txt +++ b/docs/build/html/_sources/core/rpc.txt @@ -101,5 +101,7 @@ daemon's state that the clients need to be made aware of. Remote API ---------- -.. autoclass:: deluge._rpcapi.RpcApi +.. autoclass:: deluge.core.core.Core + :members: +.. autoclass:: deluge.core.daemon.Daemon :members: \ No newline at end of file diff --git a/docs/build/html/_static/jquery.js b/docs/build/html/_static/jquery.js index 88e661eec..82b98e1d7 100644 --- a/docs/build/html/_static/jquery.js +++ b/docs/build/html/_static/jquery.js @@ -1,4 +1,3 @@ -(function(){ /* * jQuery 1.2.6 - New Wave Javascript * @@ -9,3541 +8,25 @@ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ * $Rev: 5685 $ */ - -// Map over jQuery in case of overwrite -var _jQuery = window.jQuery, -// Map over the $ in case of overwrite - _$ = window.$; - -var jQuery = window.jQuery = window.$ = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); -}; - -// A simple way to check for HTML strings or ID strings -// (both of which we optimize for) -var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, - -// Is it a simple selector - isSimple = /^.[^:#\[\.]*$/, - -// Will speed up references to undefined, and allows munging its name. - undefined; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - return this; - } - // Handle HTML strings - if ( typeof selector == "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Make sure an element was located - if ( elem ){ - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - return jQuery( elem ); - } - selector = []; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); - - return this.setArray(jQuery.makeArray(selector)); - }, - - // The current version of jQuery being used - jquery: "1.2.6", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // The number of elements contained in the matched element set - length: 0, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == undefined ? - - // Return a 'clean' array - jQuery.makeArray( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - var ret = -1; - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( name.constructor == String ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text != "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) - // The elements to wrap the target around - jQuery( html, this[0].ownerDocument ) - .clone() - .insertBefore( this[0] ) - .map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }) - .append(this); - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, false, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, true, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - find: function( selector ) { - var elems = jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - }); - - return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ? - jQuery.unique( elems ) : - elems ); - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var clone = this.cloneNode(true), - container = document.createElement("div"); - container.appendChild(clone); - return jQuery.clean([container.innerHTML])[0]; - } else - return this.cloneNode(true); - }); - - // Need to set the expando to null on the cloned set if it exists - // removeData doesn't work here, IE removes it from the original as well - // this is primarily for IE but the data expando shouldn't be copied over in any browser - var clone = ret.find("*").andSelf().each(function(){ - if ( this[ expando ] != undefined ) - this[ expando ] = null; - }); - - // Copy the events from the original to the clone - if ( events === true ) - this.find("*").andSelf().each(function(i){ - if (this.nodeType == 3) - return; - var events = jQuery.data( this, "events" ); - - for ( var type in events ) - for ( var handler in events[ type ] ) - jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); - }); - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, this ) ); - }, - - not: function( selector ) { - if ( selector.constructor == String ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ) ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector == 'string' ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return this.is( "." + selector ); - }, - - val: function( value ) { - if ( value == undefined ) { - - if ( this.length ) { - var elem = this[0]; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - - // Everything else, we just grab the value - } else - return (this[0].value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if( value.constructor == Number ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( value.constructor == Array && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value == undefined ? - (this[0] ? - this[0].innerHTML : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - data: function( key, value ){ - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - if ( data === undefined && this.length ) - data = jQuery.data( this[0], key ); - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - } else - return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ - jQuery.data( this, key, value ); - }); - }, - - removeData: function( key ){ - return this.each(function(){ - jQuery.removeData( this, key ); - }); - }, - - domManip: function( args, table, reverse, callback ) { - var clone = this.length > 1, elems; - - return this.each(function(){ - if ( !elems ) { - elems = jQuery.clean( args, this.ownerDocument ); - - if ( reverse ) - elems.reverse(); - } - - var obj = this; - - if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) - obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); - - var scripts = jQuery( [] ); - - jQuery.each(elems, function(){ - var elem = clone ? - jQuery( this ).clone( true )[0] : - this; - - // execute all scripts after the elements have been injected - if ( jQuery.nodeName( elem, "script" ) ) - scripts = scripts.add( elem ); - else { - // Remove any inner scripts for later evaluation - if ( elem.nodeType == 1 ) - scripts = scripts.add( jQuery( "script", elem ).remove() ); - - // Inject the elements into the document - callback.call( obj, elem ); - } - }); - - scripts.each( evalScript ); - }); - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( target.constructor == Boolean ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target != "object" && typeof target != "function" ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy == "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -var expando = "jQuery" + now(), uuid = 0, windowData = {}, - // exclude the following css properties to add px - exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning this function. - isFunction: function( fn ) { - return !!fn && typeof fn != "string" && !fn.nodeName && - fn.constructor != Array && /^[\s[]?function/.test( fn + "" ); - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.documentElement && !elem.body || - elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - data = jQuery.trim( data ); - - if ( data ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.browser.msie ) - script.text = data; - else - script.appendChild( document.createTextNode( data ) ); - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - cache: {}, - - data: function( elem, name, data ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // Compute a unique ID for the element - if ( !id ) - id = elem[ expando ] = ++uuid; - - // Only generate the data cache if we're - // trying to access or manipulate it - if ( name && !jQuery.cache[ id ] ) - jQuery.cache[ id ] = {}; - - // Prevent overriding the named cache with undefined values - if ( data !== undefined ) - jQuery.cache[ id ][ name ] = data; - - // Return the named cache data, or the ID for the element - return name ? - jQuery.cache[ id ][ name ] : - id; - }, - - removeData: function( elem, name ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // If we want to remove a specific section of the element's data - if ( name ) { - if ( jQuery.cache[ id ] ) { - // Remove the section of cache data - delete jQuery.cache[ id ][ name ]; - - // If we've removed all the data, remove the element's cache - name = ""; - - for ( name in jQuery.cache[ id ] ) - break; - - if ( !name ) - jQuery.removeData( elem ); - } - - // Otherwise, we want to remove all of the element's data - } else { - // Clean up the element expando - try { - delete elem[ expando ]; - } catch(e){ - // IE has trouble directly removing the expando - // but it's ok with using removeAttribute - if ( elem.removeAttribute ) - elem.removeAttribute( expando ); - } - - // Completely remove the data cache - delete jQuery.cache[ id ]; - } - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length == undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length == undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames != undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - var padding = 0, border = 0; - jQuery.each( which, function() { - padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - val -= Math.round(padding + border); - } - - if ( jQuery(elem).is(":visible") ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, val); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // A helper method for determining if an element's values are broken - function color( elem ) { - if ( !jQuery.browser.safari ) - return false; - - // defaultView is cached - var ret = defaultView.getComputedStyle( elem, null ); - return !ret || ret.getPropertyValue("color") == ""; - } - - // We need to handle opacity special in IE - if ( name == "opacity" && jQuery.browser.msie ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - // Opera sometimes will give the wrong display answer, this fixes it, see #2037 - if ( jQuery.browser.opera && name == "display" ) { - var save = style.outline; - style.outline = "0 solid black"; - style.outline = save; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle && !color( elem ) ) - ret = computedStyle.getPropertyValue( name ); - - // If the element isn't reporting its values properly in Safari - // then some display: none elements are involved - else { - var swap = [], stack = [], a = elem, i = 0; - - // Locate all of the parent display: none elements - for ( ; a && color(a); a = a.parentNode ) - stack.unshift(a); - - // Go through and make them visible, but in reverse - // (It would be better if we knew the exact display type that they had) - for ( ; i < stack.length; i++ ) - if ( color( stack[ i ] ) ) { - swap[ i ] = stack[ i ].style.display; - stack[ i ].style.display = "block"; - } - - // Since we flip the display style, we have to handle that - // one special, otherwise get the value - ret = name == "display" && swap[ stack.length - 1 ] != null ? - "none" : - ( computedStyle && computedStyle.getPropertyValue( name ) ) || ""; - - // Finally, revert the display styles back - for ( i = 0; i < swap.length; i++ ) - if ( swap[ i ] != null ) - stack[ i ].style.display = swap[ i ]; - } - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context ) { - var ret = []; - context = context || document; - // !context.createElement fails in IE with an error but returns typeof 'object' - if (typeof context.createElement == 'undefined') - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - jQuery.each(elems, function(i, elem){ - if ( !elem ) - return; - - if ( elem.constructor == Number ) - elem += ''; - - // Convert html string into DOM nodes - if ( typeof elem == "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div"); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
" ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 77269916b..3e600b6f9 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({desctypes:{"0":"method","1":"attribute","2":"function","3":"class"},terms:{represent:8,all:[6,1],is_ip:8,four:6,follow:1,disk:1,dht:6,output_vers:1,privat:4,exception_typ:6,base64:6,readabl:8,send:6,program:8,sent:6,liter:[1,8],string:[6,1,8],fals:[1,8],util:8,stop_at_ratio:6,list:[6,8],upload:6,magnet:[6,8],item:1,create_magnet_uri:8,rpc_respons:6,direct:0,second:8,download:[6,8],config_dir:1,port:6,index:[0,6],what:[6,1],repli:6,abl:4,access:[1,4,8],version:[6,1,8],"new":6,method:6,metadata:8,slot:6,full:4,hash:8,filter_dict:6,gener:6,get_health:6,rename_fil:6,path:[6,1,8],along:1,modifi:1,sinc:[1,8],valu:[6,1,4,8],open_url_in_brows:8,search:0,purpos:6,convers:1,get_download_r:6,queue:6,prior:6,osx_check:8,chang:[6,1],infohash:8,overrid:4,via:4,appli:6,modul:[0,1],prefer:[6,4],filenam:[6,1,8],initiliaz:1,api:[6,5],rename_fold:6,instal:6,total:8,establish:6,unit:8,regex:8,from:[6,8],would:[6,1],commun:6,regist:1,two:8,call:[6,1],type:[6,1,8],flag:6,accept:1,hold:6,cach:6,dot:6,must:1,none:[6,1,8],augment:1,can:[0,1,6],dec:8,root:0,fetch:[6,8],def:1,control:1,defer:6,quickstart:0,process:6,get_default_download_dir:8,indic:0,want:[6,1,4],serial:1,multipl:6,filepath:8,anoth:6,add_torrent_url:6,how:4,set_item:1,instead:6,simpl:8,"23m":8,set_torrent_max_connect:6,get_filter_tre:6,max:6,lag:6,befor:1,mac:8,date:8,data:[6,8],attempt:6,add_torrent_magnet:6,caus:6,callback:1,su5225urmtueqldxqwrb2eqwn6kltykn:8,allow:1,enter:6,egg:8,order:6,config_fil:1,get_pixmap:8,move:6,rpc_event:6,paramet:[6,1,8],pixmap:8,monitor:1,set_torrent_track:6,gtk:[0,7,3],set_torrent_move_complet:6,platform:8,window:[4,8],bittorr:8,non:6,within:8,"return":[6,1,8],"__getitem__":1,auto:6,set_torrent_auto_manag:6,initi:[6,1],framework:4,new_fold:6,nov:0,register_set_funct:1,name:[6,1,8],anyth:1,config:[0,1,8,6],stop_ratio:6,request_id:6,delugerpc:[0,5,6],higher:6,event_nam:6,extj:4,replac:6,realli:1,filedump:6,connect:[6,8],todo:[],event:[6,5],shown:8,space:8,payload:6,content:[0,1,6],adapt:0,print:1,get_default_config_dir:8,unaccess:6,sphinx:0,earlier:6,given:8,free:8,"__setitem__":1,base:[1,8],rencod:6,dictionari:[6,1],org:8,"byte":8,could:[6,1],traceback:6,set_torrent_remove_at_ratio:6,set_config:6,filter:6,get_config:6,place:8,timezon:8,first:6,rang:[1,8],directli:1,onc:6,number:[6,8],tier:6,done:1,messag:[6,5],owner:1,open:[6,8],add_torrent_fil:6,size:[6,8],prioriti:6,differ:[1,4],fetch_url:8,top:4,get_session_st:6,system:8,least:0,get_upload_r:6,master:0,interfac:[0,4,3],listen:6,consol:[0,2,3],option:[6,8],specifi:4,part:8,than:1,serv:6,kind:6,keyword:6,remot:[6,5],free_spac:8,remov:6,rate:6,fpcnt:8,str:[6,1],is_magnet:8,torrent:[6,8],recheck:6,browser:8,pre:[1,8],test_listen_port:6,arg:6,argument:[6,1],set_torrent_file_prior:6,have:[6,1],tabl:0,need:[6,1],built:4,inform:4,mib:8,fsize:8,get_revis:8,note:1,without:6,take:[6,1],which:[6,1,4],fsize_b:8,unless:1,get_stat:6,object:[6,1],compress:6,pair:6,"_rpcapi":6,"class":[6,1,8],apply_al:1,url:[6,8],urn:8,request:[6,5],uri:[6,8],doe:[1,8],btih:8,set_torrent_max_upload_slot:6,determin:[6,8],apply_now:1,get_enabled_plugin:6,get_torrents_statu:6,show:8,upload_plugin:6,session:6,is_url:8,priv:6,involv:6,current:[6,1,8],onli:[1,8],ratio:[6,8],configur:[3,1,4,8],activ:6,state:6,should:[0,1,6],dict:[6,1],get_num_connect:6,get_listen_port:6,get_dht_nod:6,folder:[6,8],local:[6,8],count:6,get_vers:8,variou:[1,8],get:[6,1,8],stop:6,ssl:[3,4],enabl:[6,4],provid:8,common:[0,8],contain:0,respond:6,certif:4,set:[6,1],fspeed:8,delug:[0,1,2,3,4,5,6,7,8],signifi:1,respons:[6,5],awar:6,statu:6,someth:1,listen_interfac:[],set_torrent_prioritize_first_last:6,written:1,ftime:8,rpcapi:6,altern:6,kei:[6,1,4],vista_check:8,succeed:1,come:6,tue:0,addit:6,last:6,rtype:1,rescan_plugin:6,rpc_error:6,com:[],load:1,simpli:1,point:6,rescan:6,set_torrent_move_completed_path:6,header:6,rpc:[6,5],been:6,insuffici:6,valueerror:1,plugin_data:6,files:8,fire:6,convert:1,ani:6,decim:8,func:1,those:1,"case":6,look:8,exception_msg:6,zlib:6,windows_check:8,"while":6,error:[6,5],get_method_list:6,get_available_plugin:6,"default":[1,4,8],kwarg:6,set_torrent_stop_ratio:6,conf:1,incom:6,revis:8,"_statu":6,welcom:0,receiv:6,get_status_kei:6,same:[6,1,4],binari:6,epoch:8,document:[0,6],complet:[0,6],http:8,webserv:4,see:[1,4,8],upon:6,get_cache_statu:6,rais:[6,1],apply_set_funct:1,kib:8,resume_all_torr:6,exampl:1,thi:[0,1,6],plugin:6,show_zero_hit:6,protocol:6,paus:6,less:1,hide_cat:6,fpeer:8,human:8,sidebar:6,speed:[6,8],web:[0,4,3],run_convert:1,easi:8,except:6,param:1,desktop:8,add:[6,4],valid:8,register_change_callback:1,input:1,save:1,build:8,fname:8,xmlrpc:6,format:[6,1,5,8],read:6,piec:6,set_torrent_max_download_spe:6,know:6,get_item:1,daemon:[6,4],like:0,docutil:[1,8],get_session_statu:6,integ:6,server:6,page:0,depend:6,"function":[1,8],www:[],num_peer:8,set_torrent_max_upload_spe:6,some:[6,1],percentag:8,intern:1,"export":6,toctre:0,get_torr:6,save_dht_st:[],per:8,tracker:[6,8],total_p:8,core:[0,5,6],set_torrent_stop_at_ratio:6,run:[1,4],usag:[1,8],peer:8,after:1,plugin_fil:6,side:6,includ:8,input_rang:1,client:6,"float":8,encod:6,ensur:6,announc:8,your:[0,4],manag:6,span:[1,8],wai:[1,4],transfer:8,force_recheck:6,why:6,avail:[6,8],start:[],return_valu:6,gib:8,resum:6,pause_all_torr:6,torrent_id:6,form:8,forc:6,tupl:1,bundl:6,message_typ:6,keyerror:1,link:6,newer:1,renam:6,line:1,"true":[6,1,8],info:[6,8],made:6,possibl:6,whether:1,wish:4,displai:8,below:[6,1],fdate:8,similar:1,emit:6,featur:4,creat:[0,1,8,4,6],"int":[6,1,8],get_config_valu:6,repres:8,twist:4,exist:[6,8],file:[0,1,8,6],check:[6,8],vista:8,encrypt:4,set_torrent_opt:6,when:[6,1,4],detail:6,field:6,other:[6,4],bool:[1,8],test:[1,8],you:[0,1,4],node:6,junk:[],intend:4,svn:8,open_fil:8,longer:6,directori:[1,8],yatblog:[],time:8,get_path_s:[6,8]},titles:["Welcome to Deluge’s documentation!","deluge.config","Deluge Console UI","Deluge’s Interfaces","Deluge Web UI","The Deluge Core","Deluge RPC","Deluge GTK UI","deluge.common"],modules:{"deluge.config":1,"deluge.common":8},descrefs:{"deluge._rpcapi.RpcApi.core":{force_recheck:[6,0],rename_files:[6,0],get_upload_rate:[6,0],set_torrent_move_completed_path:[6,0],add_torrent_file:[6,0],set_torrent_stop_ratio:[6,0],get_enabled_plugins:[6,0],get_available_plugins:[6,0],get_torrents_status:[6,0],get_path_size:[6,0],rename_folder:[6,0],add_torrent_url:[6,0],set_torrent_prioritize_first_last:[6,0],set_torrent_trackers:[6,0],get_dht_nodes:[6,0],get_status_keys:[6,0],set_torrent_max_download_speed:[6,0],upload_plugin:[6,0],test_listen_port:[6,0],get_stats:[6,0],get_filter_tree:[6,0],set_torrent_stop_at_ratio:[6,0],get_config_values:[6,0],get_listen_port:[6,0],resume_all_torrents:[6,0],get_session_status:[6,0],pause_all_torrents:[6,0],get_health:[6,0],set_torrent_move_completed:[6,0],get_cache_status:[6,0],rescan_plugins:[6,0],get_num_connections:[6,0],set_torrent_max_upload_speed:[6,0],set_torrent_max_upload_slots:[6,0],get_config_value:[6,0],add_torrent_magnet:[6,0],set_torrent_options:[6,0],set_torrent_remove_at_ratio:[6,0],set_config:[6,0],set_torrent_max_connections:[6,0],get_config:[6,0],get_download_rate:[6,0],set_torrent_file_priorities:[6,0],get_session_state:[6,0],set_torrent_auto_managed:[6,0]},"deluge.config":{Config:[1,3]},"deluge._rpcapi":{RpcApi:[6,3]},"deluge._rpcapi.RpcApi.daemon":{get_method_list:[6,0],info:[6,0]},"deluge.config.Config":{load:[1,0],apply_all:[1,0],config_file:[1,1],"__getitem__":[1,0],apply_set_functions:[1,0],run_converter:[1,0],set_item:[1,0],"__setitem__":[1,0],register_change_callback:[1,0],register_set_function:[1,0],save:[1,0],config:[1,1],get_item:[1,0]},"deluge._rpcapi.RpcApi":{core:[6,3],daemon:[6,3]},"deluge.common":{is_ip:[8,2],get_pixmap:[8,2],get_default_download_dir:[8,2],fspeed:[8,2],fpeer:[8,2],get_revision:[8,2],is_url:[8,2],vista_check:[8,2],fetch_url:[8,2],open_file:[8,2],get_version:[8,2],fsize:[8,2],ftime:[8,2],get_default_config_dir:[8,2],open_url_in_browser:[8,2],get_path_size:[8,2],free_space:[8,2],windows_check:[8,2],fpcnt:[8,2],osx_check:[8,2],fdate:[8,2],create_magnet_uri:[8,2],is_magnet:[8,2]}},filenames:["index","modules/config","interfaces/console","interfaces/index","interfaces/web","core/index","core/rpc","interfaces/gtk","modules/common"]}) \ No newline at end of file +Search.setIndex({desctypes:{"0":"method","1":"function","2":"class","3":"attribute"},terms:{represent:8,all:[6,1],is_ip:8,four:6,follow:1,disk:1,dht:6,output_vers:1,privat:4,exception_typ:6,base64:6,readabl:8,send:6,program:8,sent:6,liter:[1,8],string:[6,1,8],fals:[6,1,8],util:8,stop_at_ratio:6,list:[6,8],upload:6,magnet:[6,8],item:1,create_magnet_uri:8,rpc_respons:6,direct:0,second:8,download:[6,8],config_dir:1,port:6,index:[0,6],what:[6,1],repli:6,abl:4,access:[1,4,8],version:[6,1,8],"new":6,method:6,metadata:8,slot:6,full:4,hash:8,filter_dict:6,gener:6,get_health:6,rename_fil:6,path:[6,1,8],along:1,modifi:1,sinc:[1,8],valu:[6,1,4,8],open_url_in_brows:8,search:0,purpos:6,convers:1,get_download_r:6,queue:6,prior:6,osx_check:8,chang:[6,1],infohash:8,overrid:4,via:4,appli:6,modul:[0,1],prefer:[6,4],filenam:[6,1,8],initiliaz:1,api:[6,5],rename_fold:6,instal:6,total:8,establish:6,unit:8,regex:8,from:[6,8],would:[6,1],commun:6,regist:1,two:8,call:[6,1],type:[6,1,8],flag:6,accept:1,hold:6,cach:6,dot:6,must:1,none:[6,1,8],augment:1,can:[0,1,6],dec:8,root:0,fetch:[6,8],def:1,control:1,defer:6,quickstart:0,process:6,get_default_download_dir:8,indic:0,want:[6,1,4],serial:1,multipl:6,filepath:8,anoth:6,add_torrent_url:6,how:4,set_item:1,instead:6,simpl:8,"23m":8,set_torrent_max_connect:6,get_filter_tre:6,max:6,lag:6,befor:1,mac:8,date:8,data:[6,8],attempt:6,add_torrent_magnet:6,caus:6,callback:1,su5225urmtueqldxqwrb2eqwn6kltykn:8,allow:1,enter:6,egg:8,order:6,config_fil:1,get_pixmap:8,move:6,rpc_event:6,paramet:[6,1,8],pixmap:8,monitor:1,set_torrent_track:6,gtk:[0,7,3],set_torrent_move_complet:6,platform:8,window:[4,8],bittorr:8,non:6,within:8,"return":[6,1,8],"__getitem__":1,auto:6,set_torrent_auto_manag:6,initi:[6,1],framework:4,new_fold:6,nov:0,register_set_funct:1,name:[6,1,8],anyth:1,config:[0,1,8,6],stop_ratio:6,request_id:6,delugerpc:[0,5,6],higher:6,event_nam:6,extj:4,replac:6,realli:1,filedump:6,connect:[6,8],todo:[],event:[6,5],shown:8,space:8,payload:6,content:[0,1,6],adapt:0,print:1,get_default_config_dir:8,unaccess:6,sphinx:0,earlier:6,given:8,free:8,"__setitem__":1,base:[1,8],rencod:6,dictionari:[6,1],org:8,"byte":8,could:[6,1],traceback:6,set_torrent_remove_at_ratio:6,set_config:6,filter:6,get_config:6,place:8,timezon:8,first:6,rang:[1,8],directli:1,onc:[],number:[6,8],tier:6,done:1,messag:[6,5],owner:1,open:[6,8],add_torrent_fil:6,size:[6,8],prioriti:6,differ:[1,4],fetch_url:8,top:4,get_session_st:6,system:8,least:0,get_upload_r:6,master:0,interfac:[0,4,3],listen:6,consol:[0,2,3],option:[6,8],specifi:4,part:8,than:1,serv:6,kind:6,keyword:6,remot:[6,5],free_spac:8,remov:6,rate:6,fpcnt:8,str:[6,1],is_magnet:8,torrent:[6,8],recheck:6,browser:8,pre:[1,8],test_listen_port:6,arg:6,ani:6,set_torrent_file_prior:6,have:[6,1],tabl:0,need:[6,1],built:4,inform:4,mib:8,fsize:8,get_revis:8,note:1,without:6,take:[6,1],which:[6,1,4],fsize_b:8,unless:1,get_stat:6,object:[6,1],compress:6,pair:6,"_rpcapi":[],"class":[6,1,8],apply_al:1,url:[6,8],urn:8,request:[6,5],uri:[6,8],doe:[1,8],btih:8,set_torrent_max_upload_slot:6,determin:[6,8],apply_now:1,get_enabled_plugin:6,get_torrents_statu:6,show:8,upload_plugin:6,session:6,is_url:8,priv:6,involv:6,current:[6,1,8],onli:[1,8],ratio:[6,8],configur:[3,1,4,8],activ:6,state:6,should:[0,1,6],dict:[6,1],get_num_connect:6,get_listen_port:6,get_dht_nod:6,folder:[6,8],local:8,count:6,get_vers:8,variou:[1,8],get:[6,1,8],stop:6,ssl:[3,4],enabl:[6,4],provid:8,common:[0,8],contain:0,respond:6,certif:4,set:[6,1],fspeed:8,delug:[0,1,2,3,4,5,6,7,8],signifi:1,respons:[6,5],awar:6,statu:6,someth:1,listen_interfac:6,set_torrent_prioritize_first_last:6,written:1,ftime:8,rpcapi:[],altern:6,kei:[6,1,4],vista_check:8,succeed:1,come:6,tue:0,addit:6,last:6,rtype:1,rescan_plugin:6,rpc_error:6,com:[],load:1,simpli:1,point:6,rescan:6,set_torrent_move_completed_path:6,header:6,rpc:[6,5],been:[],insuffici:6,valueerror:1,plugin_data:6,files:8,fire:[],convert:1,argument:[6,1],decim:8,func:1,those:1,"case":6,look:8,exception_msg:6,zlib:6,windows_check:8,"while":6,error:[6,5],get_method_list:6,get_available_plugin:6,"default":[1,4,8],kwarg:6,set_torrent_stop_ratio:6,conf:1,incom:6,revis:8,"_statu":6,welcom:0,receiv:6,get_status_kei:6,same:[6,1,4],binari:6,epoch:8,document:[0,6],complet:[0,6],http:8,webserv:4,see:[1,4,8],upon:6,get_cache_statu:6,rais:[6,1],apply_set_funct:1,kib:8,resume_all_torr:6,exampl:1,thi:[0,1,6],plugin:6,show_zero_hit:6,protocol:6,paus:6,less:1,hide_cat:6,fpeer:8,human:8,sidebar:6,speed:[6,8],web:[0,4,3],run_convert:1,easi:8,except:6,param:1,desktop:8,add:[6,4],valid:8,register_change_callback:1,input:1,save:[6,1],build:8,fname:8,xmlrpc:6,format:[6,1,5,8],read:6,piec:6,set_torrent_max_download_spe:6,know:6,get_item:1,daemon:[6,4],like:0,docutil:[1,8],get_session_statu:6,integ:6,server:6,page:0,depend:6,"function":[1,8],www:[],num_peer:8,set_torrent_max_upload_spe:6,some:[6,1],percentag:8,intern:1,"export":6,toctre:0,get_torr:6,save_dht_st:6,per:8,tracker:[6,8],total_p:8,core:[0,5,6],set_torrent_stop_at_ratio:6,run:[1,4],usag:[1,8],peer:8,after:1,plugin_fil:6,side:6,includ:8,input_rang:1,client:6,"float":8,encod:6,ensur:6,announc:8,your:[0,4],manag:6,span:[1,8],wai:[1,4],transfer:8,force_recheck:6,why:6,avail:[6,8],start:6,return_valu:6,gib:8,resum:6,pause_all_torr:6,torrent_id:6,form:8,forc:6,tupl:1,bundl:6,message_typ:6,keyerror:1,link:6,newer:1,renam:6,line:1,"true":[6,1,8],info:[6,8],made:6,possibl:6,whether:1,wish:4,displai:8,below:[6,1],fdate:8,similar:1,emit:6,featur:4,creat:[0,1,8,4,6],classic:6,"int":[6,1,8],get_config_valu:6,repres:8,twist:4,exist:[6,8],file:[0,1,8,6],check:[6,8],vista:8,encrypt:4,set_torrent_opt:6,when:[6,1,4],detail:6,field:6,other:[6,4],bool:[1,8],test:[1,8],you:[0,1,4],node:6,junk:[],intend:4,svn:8,open_fil:8,longer:6,directori:[1,8],yatblog:[],time:8,get_path_s:[6,8]},titles:["Welcome to Deluge’s documentation!","deluge.config","Deluge Console UI","Deluge’s Interfaces","Deluge Web UI","The Deluge Core","Deluge RPC","Deluge GTK UI","deluge.common"],modules:{"deluge.config":1,"deluge.common":8},descrefs:{"deluge.config":{Config:[1,2]},"deluge.core.daemon.Daemon":{get_method_list:[6,0],info:[6,0]},"deluge.config.Config":{apply_set_functions:[1,0],apply_all:[1,0],config_file:[1,3],"__getitem__":[1,0],run_converter:[1,0],set_item:[1,0],load:[1,0],"__setitem__":[1,0],register_change_callback:[1,0],register_set_function:[1,0],save:[1,0],config:[1,3],get_item:[1,0]},"deluge.core.core.Core":{force_recheck:[6,0],rename_files:[6,0],get_stats:[6,0],upload_plugin:[6,0],save_dht_state:[6,0],set_torrent_max_upload_speed:[6,0],set_torrent_stop_at_ratio:[6,0],set_torrent_file_priorities:[6,0],get_enabled_plugins:[6,0],get_torrents_status:[6,0],start:[6,0],get_path_size:[6,0],rename_folder:[6,0],add_torrent_url:[6,0],set_torrent_prioritize_first_last:[6,0],set_torrent_trackers:[6,0],get_dht_nodes:[6,0],get_status_keys:[6,0],set_torrent_max_download_speed:[6,0],get_upload_rate:[6,0],test_listen_port:[6,0],get_available_plugins:[6,0],get_filter_tree:[6,0],add_torrent_file:[6,0],get_config_values:[6,0],get_listen_port:[6,0],resume_all_torrents:[6,0],get_session_status:[6,0],pause_all_torrents:[6,0],get_health:[6,0],set_torrent_move_completed:[6,0],get_cache_status:[6,0],rescan_plugins:[6,0],get_num_connections:[6,0],set_torrent_move_completed_path:[6,0],set_torrent_max_upload_slots:[6,0],get_config_value:[6,0],add_torrent_magnet:[6,0],set_torrent_options:[6,0],set_torrent_remove_at_ratio:[6,0],set_config:[6,0],set_torrent_max_connections:[6,0],get_config:[6,0],get_download_rate:[6,0],set_torrent_stop_ratio:[6,0],get_session_state:[6,0],set_torrent_auto_managed:[6,0]},"deluge.core.core":{Core:[6,2]},"deluge.core.daemon":{Daemon:[6,2]},"deluge.common":{is_ip:[8,1],get_pixmap:[8,1],get_default_download_dir:[8,1],fspeed:[8,1],fpeer:[8,1],get_revision:[8,1],is_url:[8,1],vista_check:[8,1],fetch_url:[8,1],open_file:[8,1],get_version:[8,1],fsize:[8,1],ftime:[8,1],get_default_config_dir:[8,1],open_url_in_browser:[8,1],get_path_size:[8,1],free_space:[8,1],windows_check:[8,1],fpcnt:[8,1],osx_check:[8,1],fdate:[8,1],create_magnet_uri:[8,1],is_magnet:[8,1]}},filenames:["index","modules/config","interfaces/console","interfaces/index","interfaces/web","core/index","core/rpc","interfaces/gtk","modules/common"]}) \ No newline at end of file diff --git a/docs/source/core/rpc.rst b/docs/source/core/rpc.rst index a229c1eb8..2cd95aff4 100644 --- a/docs/source/core/rpc.rst +++ b/docs/source/core/rpc.rst @@ -101,5 +101,7 @@ daemon's state that the clients need to be made aware of. Remote API ---------- -.. autoclass:: deluge._rpcapi.RpcApi +.. autoclass:: deluge.core.core.Core + :members: +.. autoclass:: deluge.core.daemon.Daemon :members: \ No newline at end of file